Index: lib/AST/ExternalASTMerger.cpp =================================================================== --- lib/AST/ExternalASTMerger.cpp +++ lib/AST/ExternalASTMerger.cpp @@ -41,6 +41,7 @@ Decl *Imported(Decl *From, Decl *To) override { if (auto ToTag = dyn_cast(To)) { ToTag->setHasExternalLexicalStorage(); + ToTag->setMustBuildLookupTable(); } else if (auto ToNamespace = dyn_cast(To)) { ToNamespace->setHasExternalVisibleStorage(); } Index: test/Import/indirect-struct-member-access/Inputs/S.c =================================================================== --- /dev/null +++ test/Import/indirect-struct-member-access/Inputs/S.c @@ -0,0 +1,3 @@ +struct S { + int a; +}; Index: test/Import/indirect-struct-member-access/test.c =================================================================== --- /dev/null +++ test/Import/indirect-struct-member-access/test.c @@ -0,0 +1,4 @@ +// RUN: clang-import-test -import %S/Inputs/S.c -expression %s +void expr(struct S *MyS) { + MyS->a = 3; +}