[pacman-dev] gnu89-inline

Dan McGee dpmcgee at gmail.com
Sat Apr 2 13:49:11 EDT 2011

On Sat, Apr 2, 2011 at 12:17 PM, Xavier Chantry
<chantry.xavier at gmail.com> wrote:
> I am just curious, what do we need this flag for ?

Searching commits, it wasn't too hard to find this, although I don't
know the full context or relevance. Not sure if it was just a GCC bug
at the time?

commit d8e88aa0175fd950d007578ea0690952f49247f1
Author: Dan McGee <dan at archlinux.org>
Date:   Tue Jun 5 17:32:09 2007 -0400

    Fix compilation with GCC 4.2.0

    'inline' keyword in C99 is not correctly recognized, so compilation fails on
    the warning it spits. This fixes this.

    Signed-off-by: Dan McGee <dan at archlinux.org>

I also see this in the GCC 4.2.0 release notes, which is surely what I
was referring to at the time:

In the next release of GCC, 4.3, -std=c99 or -std=gnu99 will direct
GCC to handle inline functions as specified in the C99 standard. In
preparation for this, GCC 4.2 will warn about any use of non-static
inline functions in gnu99 or c99 mode. This new warning may be
disabled with the new gnu_inline function attribute or the new
-fgnu89-inline command-line option. Also, GCC 4.2 and later will
define one of the preprocessor macros __GNUC_GNU_INLINE__ or
__GNUC_STDC_INLINE__ to indicate the semantics of inline functions in
the current compilation.

> 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
> [-Wdeclaration-after-statement]
> util.c:797:8: warning: variable declaration in for loop is a
> C99-specific feature [-pedantic]

How many are there; did you just trim the list down? If it is easy to
fix then we might think about doing so.


More information about the pacman-dev mailing list