Serious error-causing change in new CPP's -traditional behavior
Neil Booth
NeilB@earthling.net
Fri May 12 19:32:00 GMT 2000
Zack Weinberg wrote:-
> > Not legal -- the token following # must be the name of a macro argument
>
> Actually, this is legal; the ## converts the # into an ordinary
> token. It does rely on the unspecified order of evaluation of # and
> ## operators, but we always do ## first.
No, I don't think it is. You're right that order of evaluation isn't
specified, but you can't just "lose" the # like you suggest:-
6.10.3.2.1: Each # preprocessing token in the replacement list of a
function-like macro shall be followed by a parameter as the next
preprocessing token in the replacement list.
Neil.
More information about the Gcc-bugs
mailing list