Module debugging: Add an assertion.
authorAdrian Prantl <aprantl@apple.com>
Tue, 26 Apr 2016 23:42:43 +0000 (23:42 +0000)
committerAdrian Prantl <aprantl@apple.com>
Tue, 26 Apr 2016 23:42:43 +0000 (23:42 +0000)
llvm-svn: 267633

clang/lib/CodeGen/CGDebugInfo.cpp

index e794aee..b44ddc4 100644 (file)
@@ -1520,11 +1520,13 @@ static bool isDefinedInClangModule(const RecordDecl *RD) {
     return false;
   if (!RD->isExternallyVisible() && RD->getName().empty())
     return false;
-  if (auto *CXXDecl = dyn_cast<CXXRecordDecl>(RD))
+  if (auto *CXXDecl = dyn_cast<CXXRecordDecl>(RD)) {
+    assert(CXXDecl->isCompleteDefinition() && "incomplete record definition");
     if (CXXDecl->getTemplateSpecializationKind() != TSK_Undeclared)
       // Make sure the instantiation is actually in a module.
       if (CXXDecl->field_begin() != CXXDecl->field_end())
         return CXXDecl->field_begin()->isFromASTFile();
+  }
 
   return true;
 }