forked from OSchip/llvm-project
Introduce OwnsRemappedFileBuffers field in ASTUnit, indicating whether the ASTUnit should delete the remapped buffers.
llvm-svn: 127051
This commit is contained in:
parent
6cee6ff3f0
commit
4954bc1d9d
|
@ -115,6 +115,9 @@ private:
|
|||
|
||||
/// \brief Whether we should time each operation.
|
||||
bool WantTiming;
|
||||
|
||||
/// \brief Whether the ASTUnit should delete the remapped buffers.
|
||||
bool OwnsRemappedFileBuffers;
|
||||
|
||||
/// Track the top-level decls which appeared in an ASTUnit which was loaded
|
||||
/// from a source file.
|
||||
|
@ -422,6 +425,9 @@ public:
|
|||
|
||||
bool getOnlyLocalDecls() const { return OnlyLocalDecls; }
|
||||
|
||||
bool getOwnsRemappedFileBuffers() const { return OwnsRemappedFileBuffers; }
|
||||
void setOwnsRemappedFileBuffers(bool val) { OwnsRemappedFileBuffers = val; }
|
||||
|
||||
/// \brief Retrieve the maximum PCH level of declarations that a
|
||||
/// traversal of the translation unit should consider.
|
||||
unsigned getMaxPCHLevel() const;
|
||||
|
|
|
@ -92,6 +92,7 @@ static llvm::sys::cas_flag ActiveASTUnitObjects;
|
|||
ASTUnit::ASTUnit(bool _MainFileIsAST)
|
||||
: CaptureDiagnostics(false), MainFileIsAST(_MainFileIsAST),
|
||||
CompleteTranslationUnit(true), WantTiming(getenv("LIBCLANG_TIMING")),
|
||||
OwnsRemappedFileBuffers(true),
|
||||
NumStoredDiagnosticsFromDriver(0),
|
||||
ConcurrencyCheckValue(CheckUnlocked),
|
||||
PreambleRebuildCounter(0), SavedMainFileBuffer(0), PreambleBuffer(0),
|
||||
|
@ -116,7 +117,7 @@ ASTUnit::~ASTUnit() {
|
|||
// perform this operation here because we explicitly request that the
|
||||
// compiler instance *not* free these buffers for each invocation of the
|
||||
// parser.
|
||||
if (Invocation.get()) {
|
||||
if (Invocation.get() && OwnsRemappedFileBuffers) {
|
||||
PreprocessorOptions &PPOpts = Invocation->getPreprocessorOpts();
|
||||
for (PreprocessorOptions::remapped_file_buffer_iterator
|
||||
FB = PPOpts.remapped_file_buffer_begin(),
|
||||
|
|
Loading…
Reference in New Issue