Fix name clash for ! __STDC__
Alan Modra
alan@linuxcare.com.au
Sat Jun 3 04:08:00 GMT 2000
On Sat, 3 Jun 2000, Andrew Cagney wrote:
> Alan Modra wrote:
> >
> > On Fri, 2 Jun 2000, Nick Clifton wrote:
> >
> > > : #ifdef __STDC__
> > > : #define START_RELOC_NUMBERS(name) enum name { _##name = -1
> > > : #else
> > > : -#define START_RELOC_NUMBERS(name) enum name { name = -1
> > > : +#define START_RELOC_NUMBERS(name) enum name { _/**/name = -1
> > > : #endif
> > >
> > > Is this guarnateed to work with old K&R compilers ?
> >
> > Well, the /**/ trick is the pre-ansi standard way to paste tokens. Hmm,
> > grepping through the source finds a number of such occurrences,
> > eg. include/symcat.h and bfd/bfd-in.h. I'll use "|| defined(ALMOST_STDC)"
> > as these files do.
>
> Should the code use include/symcat.h?
> (since you're stuck in K&R land :-)
Ah well, this is what I should really do: Get rid of END_RELOC_NUMBERS,
and make up a LAST_RELOC_NUMBER macro so that we could tack commas on the
end of the RELOC_NUMBER definition. This would allow removal of the dummy
-1 valued enum (the one that needs the token pasting), and probably allow
gcc to optimise a little more.
--
Linuxcare. Support for the Revolution.
More information about the Binutils
mailing list