summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@woboq.com>2015-01-09 09:37:26 +0000
committerOlivier Goffart <ogoffart@woboq.com>2015-01-09 09:37:26 +0000
commited13fab4bc65ed8142070f9e8c9dc6e003287f87 (patch)
tree6c1e188c10d26e7e551e40db205e172bc724217a /clang/lib
parent0a092763e73ed1ab736129fc541058a8aeaa517f (diff)
downloadbcm5719-llvm-ed13fab4bc65ed8142070f9e8c9dc6e003287f87.tar.gz
bcm5719-llvm-ed13fab4bc65ed8142070f9e8c9dc6e003287f87.zip
Fix crash in typo correction while correcting enum within a struct in C
llvm-svn: 225513
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Sema/SemaExprCXX.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp
index 6351b7d115f..422398ebeb1 100644
--- a/clang/lib/Sema/SemaExprCXX.cpp
+++ b/clang/lib/Sema/SemaExprCXX.cpp
@@ -5991,8 +5991,10 @@ static ExprResult attemptRecovery(Sema &SemaRef,
if (auto *NNS = TC.getCorrectionSpecifier())
Record = NNS->getAsType()->getAsCXXRecordDecl();
if (!Record)
- Record = cast<CXXRecordDecl>(ND->getDeclContext()->getRedeclContext());
- R.setNamingClass(Record);
+ Record =
+ dyn_cast<CXXRecordDecl>(ND->getDeclContext()->getRedeclContext());
+ if (Record)
+ R.setNamingClass(Record);
// Detect and handle the case where the decl might be an implicit
// member.
OpenPOWER on IntegriCloud