diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-08-13 03:15:25 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-08-13 03:15:25 +0000 |
commit | 6fd55e06d3bc2c5e443f14ae7650d973064a47f0 (patch) | |
tree | 4dbc3af302154a965ee5e34f2cbbb1644afdcb06 /clang/lib/Frontend/ASTMerge.cpp | |
parent | d89e349f06ab96a9dafb14f718dd0fd1c75e3239 (diff) | |
download | bcm5719-llvm-6fd55e06d3bc2c5e443f14ae7650d973064a47f0.tar.gz bcm5719-llvm-6fd55e06d3bc2c5e443f14ae7650d973064a47f0.zip |
Teach ASTUnit to hold on to the Sema object and ASTConsumer that are
used when parsing (or re-parsing) a file. Also, when loading a
precompiled header into ASTUnit, create a Sema object that holds onto
semantic-analysis information.
llvm-svn: 111003
Diffstat (limited to 'clang/lib/Frontend/ASTMerge.cpp')
-rw-r--r-- | clang/lib/Frontend/ASTMerge.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Frontend/ASTMerge.cpp b/clang/lib/Frontend/ASTMerge.cpp index e916e200659..cbaa6a3034b 100644 --- a/clang/lib/Frontend/ASTMerge.cpp +++ b/clang/lib/Frontend/ASTMerge.cpp @@ -44,6 +44,12 @@ void ASTMergeAction::ExecuteAction() { if (!Unit) continue; + // Reset the argument -> string function so that it has the AST + // context we want, since the Sema object created by + // LoadFromPCHFile will override it. + CI.getDiagnostics().SetArgToStringFn(&FormatASTNodeDiagnosticArgument, + &CI.getASTContext()); + ASTImporter Importer(CI.getDiagnostics(), CI.getASTContext(), CI.getFileManager(), |