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