aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2015-05-27 20:44:45 +0000
committerDimitry Andric <dim@FreeBSD.org>2015-05-27 20:44:45 +0000
commit33956c43007dfb106f401e3c14abc011a4b1d4ca (patch)
tree50a603f7e1932cd42f58e26687ce907933014db0 /contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp
parentff0cc061ecf297f1556e906d229826fd709f37d6 (diff)
parent5e20cdd81c44a443562a09007668ffdf76c455af (diff)
Notes
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp')
-rw-r--r--contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp b/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp
index 216ac6a16984..b84df94ef806 100644
--- a/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp
+++ b/contrib/llvm/tools/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);
+ }
}
}