diff options
Diffstat (limited to 'lib/Frontend/ASTMerge.cpp')
| -rw-r--r-- | lib/Frontend/ASTMerge.cpp | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/lib/Frontend/ASTMerge.cpp b/lib/Frontend/ASTMerge.cpp index 216ac6a169845..b84df94ef8062 100644 --- a/lib/Frontend/ASTMerge.cpp +++ b/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); +      }      }    } | 
