H' hex constants

DJ Delorie dj@redhat.com
Mon Aug 4 15:03:00 GMT 2008


The -h-tick-hex option is not a gcc option, it's a gas option.
Passing it to gcc will have no effect.  Try -Wa,-h-tick-hex instead,
to tell gcc to pass it to gas.

> asm("MOV.B #'Z,R0L");	

This will do what you expect

> asm("MOV.W #'10,R0");	
> asm("LDC #'0080,FLG");	
> asm("LDC '0080,FLG");	

These will not be interpreted as hex regardless of command line
options.

> /tmp/cce6BJxp.s:0: Warning: '0 found after symbol	

This is a new warning, to help you figure out why you're also getting
this warning:

> m16c.c:(.text+0x2): undefined reference to `H483'	

The old way, gas saw H'03 and intrepreted it as three parts - the
symbol "H", the character constant '0 (48), and the number 3.  These
were contatenated by the preprocessor into H483 (H 48 3).  However, it
warns you about character constants concatenated to symbols now, which
it didn't before.



More information about the Binutils mailing list