"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."