]> granicus.if.org Git - clang/commitdiff
Fixed a bug that caused the AST importer to erroneously
authorSean Callanan <scallanan@apple.com>
Fri, 11 Jan 2013 23:17:47 +0000 (23:17 +0000)
committerSean Callanan <scallanan@apple.com>
Fri, 11 Jan 2013 23:17:47 +0000 (23:17 +0000)
import incomplete definitions for RecordDecls and then
mark the resulting definition as complete.

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

lib/AST/ASTImporter.cpp

index 33935c3b320f5999930ab6a41eefd8466304e4a6..933375b1292e732e42534e4f0f444d1c8d8df51f 100644 (file)
@@ -1835,7 +1835,7 @@ void ASTNodeImporter::ImportDefinitionIfNeeded(Decl *FromD, Decl *ToD) {
   
   if (RecordDecl *FromRecord = dyn_cast<RecordDecl>(FromD)) {
     if (RecordDecl *ToRecord = cast_or_null<RecordDecl>(ToD)) {
-      if (FromRecord->getDefinition() && !ToRecord->getDefinition()) {
+      if (FromRecord->getDefinition() && FromRecord->isCompleteDefinition() && !ToRecord->getDefinition()) {
         ImportDefinition(FromRecord, ToRecord);
       }
     }