sebnow at gmail.com
Sun Apr 3 00:55:30 EDT 2011
On Sun, Apr 3, 2011 at 1:17 AM, Xavier Chantry <chantry.xavier at gmail.com>wrote:
> I am just curious, what do we need this flag for ?
> I only found this :
> GCC implements three different semantics of declaring a function
> inline. One is available with -std=gnu89 or -fgnu89-inline or when
> gnu_inline attribute is present on all inline declarations, another
> when -std=c99, -std=c1x, -std=gnu99 or -std=gnu1x (without
> -fgnu89-inline), and the third is used when compiling C++.
> There is a small annoyance with clang, the configure check believes
> fgnu89-inline is supported because clang only emits a warning when
> that flag is specified :
> checking for -fgnu89-inline... yes
> So every libalpm file triggers this warning when building :
> clang: warning: argument unused during compilation: '-fgnu89-inline'
> Anyway it looks like we could use -std=gnu89 alternatively ?
> ... which brings to another topic that was brought recently on the ML
> : I tried to build with that and got a lot of warnings :)
> ../../lib/libalpm/alpm.h:396:29: warning: commas at the end of
> enumerator lists are a C99-specific feature [-pedantic]
> pacman.c:1201:8: warning: ISO C90 forbids mixing declarations and code
> util.c:797:8: warning: variable declaration in for loop is a
> C99-specific feature [-pedantic]
Looks like there are more warnings when using gnu89:
$ make 2>&1 | grep 'warning:' | cut -d' ' -f3- | sort | uniq -c
74 comma at end of enumerator list
1 initializer element is not computable at load time
7 ISO C90 does not support the 'j' gnu_printf length modifier
106 ISO C90 does not support the 'z' gnu_printf length modifier
41 ISO C90 forbids mixed declarations and code
57 ISO C90 forbids specifying subobject to initialize
More information about the pacman-dev