[Top][All Lists]
[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");