> Package: src:rush
> Version: 1.8+dfsg-1
>...
> In file included from inttostr.h:25:0,
> from anytostr.c:31,
> from imaxtostr.c:5:
> intprops.h:236:34: error: expected ')' before '(' token
> __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0)
> ^
> Makefile:1284: recipe for target 'imaxtostr.o' failed
>...
This can be reproduced with
$ cat test.c
# define _GL_ADD_OVERFLOW(a, b, min, max)
__builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0)
$ gcc -c test.c
test.c:2:34: error: expected ‘)’ before ‘(’ token
__builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0)
^
$
This is a problem in gnulib, introduced by
commit d22721e2efd88f26588c9710000eb1eeb3ec40de
Author: Paul Eggert <[email protected]>
Date: Mon Aug 29 10:08:32 2016 -0700
intprops.h: use __typeof__ with GCC 7
* lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
(_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
This avoids computing the expression's value (which might overflow!).
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed