Canonicalization of function pointers
Andreas Schwab
schwab@suse.de
Fri Nov 22 09:10:00 GMT 2002
"John David Anglin" <dave@hiauly1.hia.nrc.ca> writes:
|> The code snippet below demonstrates a problem in comparing a void *
|> to a function pointer. I believe this is a gcc extension and is not
|> allowed in ISO C.
Yes, it is even a constraint violation:
6.5.9 Equality operators
Constraints
2 One of the following shall hold:
- both operands have arithmetic type;
- both operands are pointers to qualified or unqualified versions of
compatible types;
- one operand is a pointer to an object or incomplete type and the
other is a pointer to a qualified or unqualified version of void; or
- one operand is a pointer and the other is a null pointer constant.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
More information about the Gcc
mailing list