This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Canonicalization of function pointers
- From: Andreas Schwab <schwab at suse dot de>
- To: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 22 Nov 2002 11:27:38 +0100
- Subject: Re: Canonicalization of function pointers
- References: <200211211845.gALIjEwR001378@hiauly1.hia.nrc.ca>
"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."