[PATCH] D41365: [clang] Add BeforeExecute method to PrecompiledPreamble
Phabricator via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Dec 20 08:49:49 PST 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rC321189: [clang] Add BeforeExecute method to PrecompiledPreamble (authored by ibiryukov, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D41365?vs=127715&id=127740#toc
Repository:
rC Clang
https://reviews.llvm.org/D41365
Files:
include/clang/Frontend/PrecompiledPreamble.h
lib/Frontend/PrecompiledPreamble.cpp
Index: lib/Frontend/PrecompiledPreamble.cpp
===================================================================
--- lib/Frontend/PrecompiledPreamble.cpp
+++ lib/Frontend/PrecompiledPreamble.cpp
@@ -333,6 +333,7 @@
std::unique_ptr<PrecompilePreambleAction> Act;
Act.reset(new PrecompilePreambleAction(
StoreInMemory ? &Storage.asMemory().Data : nullptr, Callbacks));
+ Callbacks.BeforeExecute(*Clang);
if (!Act->BeginSourceFile(*Clang.get(), Clang->getFrontendOpts().Inputs[0]))
return BuildPreambleError::BeginSourceFileFailed;
@@ -694,6 +695,7 @@
}
}
+void PreambleCallbacks::BeforeExecute(CompilerInstance &CI) {}
void PreambleCallbacks::AfterExecute(CompilerInstance &CI) {}
void PreambleCallbacks::AfterPCHEmitted(ASTWriter &Writer) {}
void PreambleCallbacks::HandleTopLevelDecl(DeclGroupRef DG) {}
Index: include/clang/Frontend/PrecompiledPreamble.h
===================================================================
--- include/clang/Frontend/PrecompiledPreamble.h
+++ include/clang/Frontend/PrecompiledPreamble.h
@@ -244,6 +244,10 @@
public:
virtual ~PreambleCallbacks() = default;
+ /// Called before FrontendAction::BeginSourceFile.
+ /// Can be used to store references to various CompilerInstance fields
+ /// (e.g. SourceManager) that may be interesting to the consumers of other callbacks.
+ virtual void BeforeExecute(CompilerInstance &CI);
/// Called after FrontendAction::Execute(), but before
/// FrontendAction::EndSourceFile(). Can be used to transfer ownership of
/// various CompilerInstance fields before they are destroyed.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41365.127740.patch
Type: text/x-patch
Size: 1600 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20171220/5c2af1c2/attachment-0001.bin>
More information about the cfe-commits
mailing list