[m68k] Fix m68k-netbsdelf bootstrap

Andreas Schwab schwab@suse.de
Wed Jan 21 23:42:00 GMT 2004


Bernardo Innocenti <bernie@develer.com> writes:

> Gunther Nikl wrote:
>>>#if FRAME_POINTER_REGNUM == 14
>>>  /* Return a register name by index, handling fp nicely.  */
>>># define M68K_REGNAME(r) ( \
>>>    ((r) == FRAME_POINTER_REGNUM && frame_pointer_needed) ? \
>>>      M68K_FP_REG_NAME : reg_names[(r)])
>>>#else
>>>  /* GAS and possibly other assemblers hard-code fp to a6.  */
>>># define M68K_REGNAME(r) reg_names[(r)]
>>>#endif
>>   This does only work if FRAME_POINTER_REGNUM is defined correctly
>>   before, eg. in config.gcc. However, since FRAME_POINTER_REGNUM is
>>   a compile-time constant you could move the check into the macro
>>   definition to get the same result :-)
>
> No, it would work even if FRAME_POINTER_REGNUM is defined later,
> for the same reason Andreas' earlier patch works: the C preprocessor
> expands nested macros lazily, not at definition time.

Not in this case, since the #if expression is evaluated immediately, and
undefined macros are replaced with 0 here.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



More information about the Gcc-patches mailing list