"Rafael Espíndola" <[EMAIL PROTECTED]> writes:

>> because that is what the language standard says.
>>
>> In general, the difference between two global pointers is something
>> known only to the linker -- too late to evaluate as constant
>> expression.
> In the particular case of two static functions or two static global
> pointers, it is possible for the compiler to compute it. Isn't it? I
> think that the linker will reorder the sections, but not the functions
> inside a section.

This will fail with -ffunction-sections/-fdata-sections.  Also, the
address of a function may be quite different from the address of where the
code is stored, due to function descriptors.  A function isn't an object,
after all.

Andreas.

-- 
Andreas Schwab, SuSE Labs, [EMAIL PROTECTED]
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

Reply via email to