[cfe-commits] r132397 - in /cfe/trunk: lib/Sema/SemaExpr.cpp test/SemaObjCXX/nullptr.mm
Douglas Gregor
dgregor at apple.com
Wed Jun 1 08:12:24 PDT 2011
Author: dgregor
Date: Wed Jun 1 10:12:24 2011
New Revision: 132397
URL: http://llvm.org/viewvc/llvm-project?rev=132397&view=rev
Log:
Implement comparisons between nullptr and Objective-C object
pointers. Fixes PR10052.
Added:
cfe/trunk/test/SemaObjCXX/nullptr.mm
Modified:
cfe/trunk/lib/Sema/SemaExpr.cpp
Modified: cfe/trunk/lib/Sema/SemaExpr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=132397&r1=132396&r2=132397&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaExpr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaExpr.cpp Wed Jun 1 10:12:24 2011
@@ -7536,7 +7536,7 @@
// Comparison of pointers with null pointer constants and equality
// comparisons of member pointers to null pointer constants.
if (RHSIsNull &&
- ((lType->isPointerType() || lType->isNullPtrType()) ||
+ ((lType->isAnyPointerType() || lType->isNullPtrType()) ||
(!isRelational && lType->isMemberPointerType()))) {
rex = ImpCastExprToType(rex.take(), lType,
lType->isMemberPointerType()
@@ -7545,7 +7545,7 @@
return ResultTy;
}
if (LHSIsNull &&
- ((rType->isPointerType() || rType->isNullPtrType()) ||
+ ((rType->isAnyPointerType() || rType->isNullPtrType()) ||
(!isRelational && rType->isMemberPointerType()))) {
lex = ImpCastExprToType(lex.take(), rType,
rType->isMemberPointerType()
Added: cfe/trunk/test/SemaObjCXX/nullptr.mm
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjCXX/nullptr.mm?rev=132397&view=auto
==============================================================================
--- cfe/trunk/test/SemaObjCXX/nullptr.mm (added)
+++ cfe/trunk/test/SemaObjCXX/nullptr.mm Wed Jun 1 10:12:24 2011
@@ -0,0 +1,13 @@
+// RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify %s
+
+ at interface A
+ at end
+
+void comparisons(A *a) {
+ (void)(a == nullptr);
+ (void)(nullptr == a);
+}
+
+void assignment(A *a) {
+ a = nullptr;
+}
More information about the cfe-commits
mailing list