aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/ASTMerge.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2015-04-28 18:24:12 +0000
committerSean Callanan <scallanan@apple.com>2015-04-28 18:24:12 +0000
commit61ea0571ac22e903ec29e528ba2e6ec2899d84ba (patch)
treef97d7523d4c2d03211461771eea66cf39c354645 /clang/lib/Frontend/ASTMerge.cpp
parent20b0ce3abd16514407a4454d90fd1c52da0a3a33 (diff)
downloadllvm-61ea0571ac22e903ec29e528ba2e6ec2899d84ba.zip
llvm-61ea0571ac22e903ec29e528ba2e6ec2899d84ba.tar.gz
llvm-61ea0571ac22e903ec29e528ba2e6ec2899d84ba.tar.bz2
Implemented support for testing the ASTImporter's
ability to generate code that CodeGen likes. Test cases can use this functionality by calling // RUN: %clang_cc1 -emit-obj -o /dev/null -ast-merge %t.1.ast -ast-merge %t.2.ast %s llvm-svn: 236011
Diffstat (limited to 'clang/lib/Frontend/ASTMerge.cpp')
-rw-r--r--clang/lib/Frontend/ASTMerge.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Frontend/ASTMerge.cpp b/clang/lib/Frontend/ASTMerge.cpp
index 216ac6a..b84df94 100644
--- a/clang/lib/Frontend/ASTMerge.cpp
+++ b/clang/lib/Frontend/ASTMerge.cpp
@@ -57,6 +57,7 @@ void ASTMergeAction::ExecuteAction() {
/*MinimalImport=*/false);
TranslationUnitDecl *TU = Unit->getASTContext().getTranslationUnitDecl();
+ CI.getASTConsumer().Initialize(CI.getASTContext());
for (auto *D : TU->decls()) {
// Don't re-import __va_list_tag, __builtin_va_list.
if (const auto *ND = dyn_cast<NamedDecl>(D))
@@ -64,7 +65,12 @@ void ASTMergeAction::ExecuteAction() {
if (II->isStr("__va_list_tag") || II->isStr("__builtin_va_list"))
continue;
- Importer.Import(D);
+ Decl *ToD = Importer.Import(D);
+
+ if (ToD) {
+ DeclGroupRef DGR(ToD);
+ CI.getASTConsumer().HandleTopLevelDecl(DGR);
+ }
}
}