Subject: bug#26398: GNU LIB build fails on macOS 10.12.4

From: Harald Maier <[email-masked]>
Date: Sat, 8 Apr 2017 10:43:44 +0200

They __THROW and __nonnull are defined in „getopt_cdefs.h“.

The gcc command is

gcc -c    -MMD -MF deps/fstatat.d -MP    -g3 -O2 -I. -I../src -I. -I./../src  fstatat.c

The output from -E

> Am 08.04.2017 um 10:24 schrieb Paul Eggert <[email-masked]>:
> 
> [Following up on http://bugs.gnu.org/26398 and CC'ing bug-gnulib and Zack Weinberg.]
> 
>> In file included from ./unistd.h:135:
>> In file included from ./getopt_pfx_core.h:52:
>> ./getopt_core.h:91:79: error: expected ';' after top level declarator
>> extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
> 
> Can you please send the preprocessor output for the failed compilation?
> That is, try running "make V=1". If the failed command looks like this:
> 
>   clang -c -Dthis -Dthat -Dtheother fstatat.c
> 
> then run this command:
> 
>   clang -E -Dthis -Dthat -Dtheother fstatat.c >fstatat.i
> 
> and send a copy of fstatat.i as an attachment.
> 
> Also, can you find out which .h file defined __THROW and __nonnull in your environment? I have the sneaking suspicion that it's some .h file other than getopt_cdefs.h.
> 
> Thanks.