bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Re: gperf under version control?


From: Jim Meyering
Subject: [Re: gperf under version control?
Date: Wed, 05 Sep 2007 16:16:59 +0200

Bruno Haible <address@hidden> wrote:
> Hi Jim,

Hi Bruno,

>> I tried to find a cvs/svn/git repository
>> or a newer version of gperf (nothing on alpha) -- to no avail.
>> Is there a public repository?
>
> Yes. The savannah project page is at
>   http://savannah.gnu.org/projects/gperf
> and the CVS is at
>   http://sourceforge.net/cvs/?group_id=10123
> but nothing has changed since the 3.0.3 release.

Oh!  Thanks.

BTW,
As you probably know, the sourceforge gperf-bugs list is useless.
All it gets is spam.  And gperf-list has had no traffic for 4(!) years.

Have you considered moving the sources and mailing list to savannah?
There, the lists are essentially guaranteed to be spam-free,
and you can use git.

>> I'm getting this from gcc, now:
>> [ with gperf-3.0.3 and gcc version 4.2.1 (Debian 4.2.1-4) ]
>
> gperf-3.0.3 was released precisely with the goal of being compatible with
> gcc-4.3.0.
>
>> cpp.gp:85: warning: C99 inline functions are not supported; using GNU89
>> cpp.gp:85: warning: to disable this warning use -fgnu89-inline or the 
>> gnu_inline
>>
>> because I build cppi with -std=gnu99
>
> What kind of code does cpp.gp contain near line 85?
>
> Do you get the same warnings with gcc-4.3.0, or are they specific to
> gcc-4.2.1?
>
>>   http://gcc.gnu.org/ml/gcc-patches/2007-03/msg00702.html
>
> Thanks, but first I need to see the code that gcc-4.2.1 is warning about.

gcc-4.1.2 has the same problem:
gcc -std=gnu99 defines __GNUC_GNU_INLINE__, yet
warns about the __inline unless you use the attribute:

  gcc -O -std=gnu99 -dM -E - < /dev/null |grep _INLINE__
  #define __GNUC_GNU_INLINE__ 1

Here's a stand-alone example of the warning:

  $ echo 'inline int f(void) {return 1;}' > k.c
  $ gcc -O -std=gnu99 -Wall -c k.c
  k.c:1: warning: C99 inline functions are not supported; using GNU89
  k.c:1: warning: to disable this warning use -fgnu89-inline or the gnu_inline 
function attribute

Here's the change I made to avoid the warning:

2007-09-05  Jim Meyering  <address@hidden>

        * src/output.cc (Output::output_lookup_function): Emit code to test
        for __GNUC_GNU_INLINE__ as well as for __GNUC_STDC_INLINE__.
        This avoids warnings from gcc -Wall.

Index: src/output.cc
===================================================================
RCS file: /cvsroot/gperf/gperf/src/output.cc,v
retrieving revision 1.37
diff -u -p -r1.37 output.cc
--- src/output.cc       31 Mar 2007 15:16:05 -0000      1.37
+++ src/output.cc       5 Sep 2007 13:56:18 -0000
@@ -1885,11 +1885,12 @@ Output::output_lookup_function () const
   /* Output the function's head.  */
   if (option[KRC] | option[C] | option[ANSIC])
     /* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
-       inline semantics, unless -fgnu89-inline is used.  It defines a macro
-       __GNUC_STDC_INLINE__ to indicate this situation.  */
+       inline semantics, unless -fgnu89-inline is used.  It defines a macro,
+       __GNUC_GNU_INLINE__ or __GNUC_STDC_INLINE__, to indicate this
+       situation.  */
     printf ("#ifdef __GNUC__\n"
             "__inline\n"
-            "#ifdef __GNUC_STDC_INLINE__\n"
+            "#if defined __GNUC_GNU_INLINE__ || defined __GNUC_STDC_INLINE__\n"
             "__attribute__ ((__gnu_inline__))\n"
             "#endif\n"
             "#endif\n");




reply via email to

[Prev in Thread] Current Thread [Next in Thread]