Index: cfe/trunk/include/clang/AST/ExternalASTMerger.h =================================================================== --- cfe/trunk/include/clang/AST/ExternalASTMerger.h +++ cfe/trunk/include/clang/AST/ExternalASTMerger.h @@ -44,10 +44,6 @@ FindExternalLexicalDecls(const DeclContext *DC, llvm::function_ref IsKindWeWant, SmallVectorImpl &Result) override; - - using ExternalASTSource::CompleteType; - - void CompleteType(TagDecl *Tag) override; }; } // end namespace clang Index: cfe/trunk/lib/AST/ExternalASTMerger.cpp =================================================================== --- cfe/trunk/lib/AST/ExternalASTMerger.cpp +++ cfe/trunk/lib/AST/ExternalASTMerger.cpp @@ -180,8 +180,3 @@ }); } -void ExternalASTMerger::CompleteType(TagDecl *Tag) { - SmallVector Result; - FindExternalLexicalDecls(Tag, [](Decl::Kind) { return true; }, Result); - Tag->setHasExternalLexicalStorage(false); -} Index: cfe/trunk/test/Import/direct/Inputs/S.c =================================================================== --- cfe/trunk/test/Import/direct/Inputs/S.c +++ cfe/trunk/test/Import/direct/Inputs/S.c @@ -0,0 +1,3 @@ +struct S { + int a; +}; Index: cfe/trunk/test/Import/direct/test.c =================================================================== --- cfe/trunk/test/Import/direct/test.c +++ cfe/trunk/test/Import/direct/test.c @@ -0,0 +1,5 @@ +// RUN: clang-import-test -direct -import %S/Inputs/S.c -expression %s +void expr() { + struct S MyS; + MyS.a = 3; +}