This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: Fix name clash for ! __STDC__
- To: Andrew Cagney <ac131313 at cygnus dot com>
- Subject: Re: Fix name clash for ! __STDC__
- From: Alan Modra <alan at linuxcare dot com dot au>
- Date: Sat, 3 Jun 2000 21:08:42 +1000 (EST)
- cc: Nick Clifton <nickc at cygnus dot com>, binutils at sourceware dot cygnus dot com
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.