[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