summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExprCXX.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2009-11-18 21:54:48 +0000
committerFariborz Jahanian <fjahanian@apple.com>2009-11-18 21:54:48 +0000
commit1bc0f9affc20474dbf86842e2f38b00c844207c6 (patch)
tree8399607352b5ea4475e56bb1b0ce9b5be730d683 /clang/lib/Sema/SemaExprCXX.cpp
parente9e9121f94617191c199b9cdc5e1242a44d13b8c (diff)
downloadbcm5719-llvm-1bc0f9affc20474dbf86842e2f38b00c844207c6.tar.gz
bcm5719-llvm-1bc0f9affc20474dbf86842e2f38b00c844207c6.zip
This patch fixes a bug in misdiagnosing correct
use of pointer to data member. llvm-svn: 89251
Diffstat (limited to 'clang/lib/Sema/SemaExprCXX.cpp')
-rw-r--r--clang/lib/Sema/SemaExprCXX.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp
index 0eea169b072..cf2c696c2b9 100644
--- a/clang/lib/Sema/SemaExprCXX.cpp
+++ b/clang/lib/Sema/SemaExprCXX.cpp
@@ -1445,6 +1445,12 @@ QualType Sema::CheckPointerToMemberOperands(
}
}
+ if (isa<CXXZeroInitValueExpr>(rex)) {
+ // Diagnose use of pointer-to-member type which when used as
+ // the functional cast in a pointer-to-member expression.
+ Diag(Loc, diag::err_pointer_to_member_type) << isIndirect;
+ return QualType();
+ }
// C++ 5.5p2
// The result is an object or a function of the type specified by the
// second operand.
OpenPOWER on IntegriCloud