> 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 <egg...@cs.ucla.edu> 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