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

llvm-svn: 307600
This commit is contained in:
Sean Callanan 2017-07-10 23:47:00 +00:00
parent 7eaf1d96ad
commit 17c8c20d7e
4 changed files with 8 additions and 9 deletions

View File

@ -44,10 +44,6 @@ public:
FindExternalLexicalDecls(const DeclContext *DC,
llvm::function_ref<bool(Decl::Kind)> IsKindWeWant,
SmallVectorImpl<Decl *> &Result) override;
using ExternalASTSource::CompleteType;
void CompleteType(TagDecl *Tag) override;
};
} // end namespace clang

View File

@ -180,8 +180,3 @@ void ExternalASTMerger::FindExternalLexicalDecls(
});
}
void ExternalASTMerger::CompleteType(TagDecl *Tag) {
SmallVector<Decl *, 0> Result;
FindExternalLexicalDecls(Tag, [](Decl::Kind) { return true; }, Result);
Tag->setHasExternalLexicalStorage(false);
}

View File

@ -0,0 +1,3 @@
struct S {
int a;
};

View File

@ -0,0 +1,5 @@
// RUN: clang-import-test -direct -import %S/Inputs/S.c -expression %s
void expr() {
struct S MyS;
MyS.a = 3;
}