aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaExprCXX.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2015-12-25 14:26:58 +0000
committerDimitry Andric <dim@FreeBSD.org>2015-12-25 14:26:58 +0000
commit7e86edd64bfae4e324224452e4ea879b3371a4bd (patch)
tree31a414b9b5f25347b7ed9a8786c34bdb277d6127 /lib/Sema/SemaExprCXX.cpp
parent36c5ade2f4674b544039d78db4c466756cf142b0 (diff)
downloadsrc-7e86edd64bfae4e324224452e4ea879b3371a4bd.tar.gz
src-7e86edd64bfae4e324224452e4ea879b3371a4bd.zip
Import clang 3.7.1 release (r255217).vendor/clang/clang-release_371-r255217
Notes
Notes: svn path=/vendor/clang/dist/; revision=292728 svn path=/vendor/clang/clang-release_371-r255217/; revision=292729; tag=vendor/clang/clang-release_371-r255217
Diffstat (limited to 'lib/Sema/SemaExprCXX.cpp')
-rw-r--r--lib/Sema/SemaExprCXX.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Sema/SemaExprCXX.cpp b/lib/Sema/SemaExprCXX.cpp
index 01966d569a11..9ad5aa59b68a 100644
--- a/lib/Sema/SemaExprCXX.cpp
+++ b/lib/Sema/SemaExprCXX.cpp
@@ -2485,8 +2485,10 @@ bool MismatchingNewDeleteDetector::hasMatchingNewInCtor(
MismatchingNewDeleteDetector::MismatchResult
MismatchingNewDeleteDetector::analyzeInClassInitializer() {
assert(Field != nullptr && "This should be called only for members");
- if (const CXXNewExpr *NE =
- getNewExprFromInitListOrExpr(Field->getInClassInitializer())) {
+ const Expr *InitExpr = Field->getInClassInitializer();
+ if (!InitExpr)
+ return EndOfTU ? NoMismatch : AnalyzeLater;
+ if (const CXXNewExpr *NE = getNewExprFromInitListOrExpr(InitExpr)) {
if (NE->isArray() != IsArrayForm) {
NewExprs.push_back(NE);
return MemberInitMismatches;