This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [m68k] Fix m68k-netbsdelf bootstrap

Bernardo Innocenti <> writes:

> Gunther Nikl wrote:
>>>  /* 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)])
>>>  /* GAS and possibly other assemblers hard-code fp to a6.  */
>>># define M68K_REGNAME(r) reg_names[(r)]
>>   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 Schwab, SuSE Labs,
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."

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]