Serious error-causing change in new CPP's -traditional behavior

Zack Weinberg zack@wolery.cumb.org
Fri May 12 01:35:00 GMT 2000


On Thu, May 11, 2000 at 05:03:46PM +0100, Richard Earnshaw wrote:
> zack@wolery.cumb.org said:
> > What I believe he wants is more along the lines of this patch.
> > Richard, care to give it a spin? 
> 
> Actually, there is one case which is still not ideal
> 
> What I would like to have is
> 
> #define wibble(foo) mov	r0, # foo
> .text
> a:
> 	wibble(4)
> 
> and get the output
> 
> .text
> a:
>         mov r0, #4
> 
> Unfortunately we get 
> 
> 	mov r0, "4"

Alas, this may not have been what you intended, but it is the behavior
mandated by the standard for that #define.  Whitespace between the
stringize operator and its argument (macro name) is not significant.
I don't plan to change this in assembly language mode.

zw


More information about the Gcc-bugs mailing list