On Sat, Aug 22, 2009 at 4:36 PM, Chris Lattner<[email protected]> wrote:
>
> On Aug 22, 2009, at 4:08 PM, Eli Friedman wrote:
>
>> On Sat, Aug 22, 2009 at 11:58 AM, Chris Lattner<[email protected]> wrote:
>>>
>>> Author: lattner
>>> Date: Sat Aug 22 13:58:31 2009
>>> New Revision: 79743
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=79743&view=rev
>>> Log:
>>> tweak some pointer sema checking stuff (which was added to implement
>>> PR4175) to
>>> avoid emitting a warning on "someptr > 0".  This is obviously
>>> questionable (they
>>> could use != instead) but is reasonable, and the warning "ordered
>>> comparison
>>> between pointer and integer" didn't make a ton of sense because 0 is a
>>> valid
>>> null pointer constant.
>>
>> Sure, but the standard requires us to warn... it would be okay to
>> split it into a separate warning, though.
>
> It does?  Citation?

C99 6.5.8p2:
One of the following shall hold:
-- both operands have real type;
-- both operands are pointers to qualified or unqualified versions of
compatible object types; or
-- both operands are pointers to qualified or unqualified versions of
compatible incomplete types.

None of those hold, so it's a constraint violation.  Note that
equality operators make an explicit allowance for null pointer
constants.

-Eli

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to