This is the mail archive of the gcc@gcc.gnu.org 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: Canonicalization of function pointers


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


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