From 660c98f3e30c5c1b6aa566365ec22ea34d09eacf Mon Sep 17 00:00:00 2001 From: Sean Callanan Date: Mon, 10 Jul 2017 23:47:00 +0000 Subject: [PATCH] clang-import-test had some dead code. I did the following to eliminate it: - eliminated error handling for the indirect CompilerInstance, which should never generate an error as it is created; - added a new test for direct importation; and - removed an unused implementation of the CompleteType() API. This brings clang-import-test.cpp and ExternalASTMerge.cpp back to 100% coverage on all metrics measured by DLLVM_BUILD_INSTRUMENTED_COVERAGE. Differential Revision: https://reviews.llvm.org/D35220 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@307600 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/AST/ExternalASTMerger.h | 4 ---- lib/AST/ExternalASTMerger.cpp | 5 ----- test/Import/direct/Inputs/S.c | 3 +++ test/Import/direct/test.c | 5 +++++ 4 files changed, 8 insertions(+), 9 deletions(-) create mode 100644 test/Import/direct/Inputs/S.c create mode 100644 test/Import/direct/test.c diff --git a/include/clang/AST/ExternalASTMerger.h b/include/clang/AST/ExternalASTMerger.h index 92d7b39c48..51d0c30ad2 100644 --- a/include/clang/AST/ExternalASTMerger.h +++ b/include/clang/AST/ExternalASTMerger.h @@ -44,10 +44,6 @@ public: FindExternalLexicalDecls(const DeclContext *DC, llvm::function_ref IsKindWeWant, SmallVectorImpl &Result) override; - - using ExternalASTSource::CompleteType; - - void CompleteType(TagDecl *Tag) override; }; } // end namespace clang diff --git a/lib/AST/ExternalASTMerger.cpp b/lib/AST/ExternalASTMerger.cpp index b746edaf64..4f4a99794c 100644 --- a/lib/AST/ExternalASTMerger.cpp +++ b/lib/AST/ExternalASTMerger.cpp @@ -180,8 +180,3 @@ void ExternalASTMerger::FindExternalLexicalDecls( }); } -void ExternalASTMerger::CompleteType(TagDecl *Tag) { - SmallVector Result; - FindExternalLexicalDecls(Tag, [](Decl::Kind) { return true; }, Result); - Tag->setHasExternalLexicalStorage(false); -} diff --git a/test/Import/direct/Inputs/S.c b/test/Import/direct/Inputs/S.c new file mode 100644 index 0000000000..b0876d27df --- /dev/null +++ b/test/Import/direct/Inputs/S.c @@ -0,0 +1,3 @@ +struct S { + int a; +}; diff --git a/test/Import/direct/test.c b/test/Import/direct/test.c new file mode 100644 index 0000000000..5fac24c015 --- /dev/null +++ b/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; +} -- 2.40.0