summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/ASTUnit.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-10-17 00:34:24 +0000
committerTed Kremenek <kremenek@apple.com>2009-10-17 00:34:24 +0000
commit8bcb1c68832c8897bf85b8346098bbb8099f3b94 (patch)
tree1ffb9fe30776c982131852ca27ec88e00e8f0d9b /clang/lib/Frontend/ASTUnit.cpp
parent0d3d9ee03e6d2746409bc26921ff743d65d2fc4f (diff)
downloadbcm5719-llvm-8bcb1c68832c8897bf85b8346098bbb8099f3b94.tar.gz
bcm5719-llvm-8bcb1c68832c8897bf85b8346098bbb8099f3b94.zip
Add 'UseBumpPtrAllocator' flag to ASTUnit::LoadFromPCHFile() to cause the created ASTContext to use
its own BumpPtrAllocator to allocate ASTs. Change clang_createTranslationUnit (CIndex) to pass 'UseBumpPtrAllocator = true' to ASTUnit::LoadFromPCHFile(). llvm-svn: 84296
Diffstat (limited to 'clang/lib/Frontend/ASTUnit.cpp')
-rw-r--r--clang/lib/Frontend/ASTUnit.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp
index 15002385a8c..7ee66486998 100644
--- a/clang/lib/Frontend/ASTUnit.cpp
+++ b/clang/lib/Frontend/ASTUnit.cpp
@@ -95,7 +95,8 @@ ASTUnit *ASTUnit::LoadFromPCHFile(const std::string &Filename,
Diagnostic &Diags,
FileManager &FileMgr,
std::string *ErrMsg,
- bool OnlyLocalDecls) {
+ bool OnlyLocalDecls,
+ bool UseBumpAllocator) {
llvm::OwningPtr<ASTUnit> AST(new ASTUnit(Diags));
AST->OnlyLocalDecls = OnlyLocalDecls;
AST->HeaderInfo.reset(new HeaderSearch(FileMgr));
@@ -146,7 +147,7 @@ ASTUnit *ASTUnit::LoadFromPCHFile(const std::string &Filename,
PP.getIdentifierTable(),
PP.getSelectorTable(),
PP.getBuiltinInfo(),
- /* FreeMemory = */ true,
+ /* FreeMemory = */ !UseBumpAllocator,
/* size_reserve = */0));
ASTContext &Context = *AST->Ctx.get();
OpenPOWER on IntegriCloud