]> granicus.if.org Git - clang/commitdiff
Fix an assertion failure (PR33020).
authorAlexander Kornienko <alexfh@google.com>
Fri, 12 May 2017 11:24:25 +0000 (11:24 +0000)
committerAlexander Kornienko <alexfh@google.com>
Fri, 12 May 2017 11:24:25 +0000 (11:24 +0000)
Adding a test separately (tools/extra/test/clang-tidy/misc-use-after-move.cpp).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@302889 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/DeclCXX.cpp

index dd8f768c57117dd81a5c1d4945637665a75220ec..9f87fe12a9cd460b1e46a76f99e44cd28cbcbccf 100644 (file)
@@ -1432,8 +1432,9 @@ bool CXXRecordDecl::isAnyDestructorNoReturn() const {
 
   // Check base classes destructor for noreturn.
   for (const auto &Base : bases())
-    if (Base.getType()->getAsCXXRecordDecl()->isAnyDestructorNoReturn())
-      return true;
+    if (const CXXRecordDecl *RD = Base.getType()->getAsCXXRecordDecl())
+      if (RD->isAnyDestructorNoReturn())
+        return true;
 
   // Check fields for noreturn.
   for (const auto *Field : fields())