cpp bug

Zack Weinberg zack@codesourcery.com
Thu May 23 09:08:00 GMT 2002


On Thu, May 23, 2002 at 01:02:17PM +0100, Neil Booth wrote:
> Bob Kenny wrote:-
> 
> > I have just upgraded from 2.95.2 to 3.0.1 and when compiling programs I
> > get a warning from the pre-processor saying
> > 
> > extra tokens at end of xxxxxx directive
> > 
> > This is caused by commands such as
> > 
> > #endif FRED
> > 
> > On looking at the code in cpplib.c in the routine ckeck_eol, the warning
> > is generated by cpp_pedwarn wich is a pedantic warning but there is no
> > test for the pedantic flag being set. I have overcome this by using 
> > 
> >   if (CPP_PEDANTIC (pfile) && token.type != CPP_EOF)
> > 
> > so that the warning is only issued if the pedantic flag is used.
> > 
> > Is this a bug or is it now a non-pedantic warning. In Solaris some of
> > their own .h files generate this warning so it is a bit annoying.
> 
> The code is correct.  Warnings are flagged pedantic to ensure
> they become errors with -pedantic-errors; in all other respects it's
> the same as a normal warning.
> 
> There is no way to turn off the warning; either compile with a local
> change like you did, or use 3.2 CVS which accepts -Wno-endif-labels
> to turn off this warning for #else and #endif.

It might be reasonable to backport -Wno-endif-labels to 3.1.1.  Mark?

zw



More information about the Gcc-bugs mailing list