- 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
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
});
}
-void ExternalASTMerger::CompleteType(TagDecl *Tag) {
- SmallVector<Decl *, 0> Result;
- FindExternalLexicalDecls(Tag, [](Decl::Kind) { return true; }, Result);
- Tag->setHasExternalLexicalStorage(false);
-}
--- /dev/null
+struct S {
+ int a;
+};
--- /dev/null
+// RUN: clang-import-test -direct -import %S/Inputs/S.c -expression %s
+void expr() {
+ struct S MyS;
+ MyS.a = 3;
+}