diff options
| author | Olivier Goffart <ogoffart@woboq.com> | 2015-01-09 09:37:26 +0000 |
|---|---|---|
| committer | Olivier Goffart <ogoffart@woboq.com> | 2015-01-09 09:37:26 +0000 |
| commit | ed13fab4bc65ed8142070f9e8c9dc6e003287f87 (patch) | |
| tree | 6c1e188c10d26e7e551e40db205e172bc724217a /clang/lib | |
| parent | 0a092763e73ed1ab736129fc541058a8aeaa517f (diff) | |
| download | bcm5719-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.cpp | 6 |
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. |

