This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: preprocessor: % as args to #defines
On Thu, 2004-01-29 at 18:41, Zack Weinberg wrote:
> Ralf Corsepius <corsepiu@faw.uni-ulm.de> writes:
>
> > * How to re-write these macros into ansi-compliant form (I've tried to,
> > but no success until now)
>
> Try this:
>
> #define RP() __REGISTER_PREFIX__
> #define REG(x) RP()x
Thanks, this and Michael's proposals both seems to work.
> > * Why does gcc-3.3.x issue errors instead of warnings like gcc-3.2.x
> > did?
>
> People have had long enough to fix their code.
;) Well, I only tripped this issue because of accidentially having used
-ansi on *.S's, otherwise this issue would not have popped up for my
code.
Apart from this, newlib, gcc-3.3.x and gcc-3.4 are using this kind of
constructs.
> > * Why does gcc-3.3.x behave differently on *.c and *.S file types?
>
> .S files get special dispensation, because assembly syntax is not the
> same as C syntax.
OK.
Ralf