diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-09-03 05:59:35 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-09-03 05:59:35 +0000 |
commit | cc318939daaa50fc07f7d431caec3c8679893e9c (patch) | |
tree | 82c9b57d3839978c8a3ba7c48dd6739f43c7afab /lib/Frontend/ASTUnit.cpp | |
parent | 5345c391c65d1780a0d7b0102b7f735cc3f82732 (diff) |
Revert "Remove redundant local variable (use newly created instance data).", the
previous commit this depends on is breaking x86_64-apple-darwin10 and Linux tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80895 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/ASTUnit.cpp')
-rw-r--r-- | lib/Frontend/ASTUnit.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/lib/Frontend/ASTUnit.cpp b/lib/Frontend/ASTUnit.cpp index 3fce817c0d..38452ed9d4 100644 --- a/lib/Frontend/ASTUnit.cpp +++ b/lib/Frontend/ASTUnit.cpp @@ -104,13 +104,15 @@ ASTUnit *ASTUnit::LoadFromPCHFile(const std::string &Filename, std::string Predefines; unsigned Counter; + llvm::OwningPtr<PCHReader> Reader; llvm::OwningPtr<ExternalASTSource> Source; - AST->Reader.reset(new PCHReader(SourceMgr, FileMgr, Diags)); - AST->Reader->setListener(new PCHInfoCollector(LangInfo, HeaderInfo, - TargetTriple, Predefines, - Counter)); - switch (AST->Reader->ReadPCH(Filename)) { + Reader.reset(new PCHReader(SourceMgr, FileMgr, Diags)); + AST->Reader.reset(Reader.get()); + Reader->setListener(new PCHInfoCollector(LangInfo, HeaderInfo, TargetTriple, + Predefines, Counter)); + + switch (Reader->ReadPCH(Filename)) { case PCHReader::Success: break; @@ -131,7 +133,7 @@ ASTUnit *ASTUnit::LoadFromPCHFile(const std::string &Filename, PP.setPredefines(Predefines); PP.setCounterValue(Counter); - AST->Reader->setPreprocessor(PP); + Reader->setPreprocessor(PP); // Create and initialize the ASTContext. @@ -145,12 +147,12 @@ ASTUnit *ASTUnit::LoadFromPCHFile(const std::string &Filename, /* size_reserve = */0)); ASTContext &Context = *AST->Ctx.get(); - AST->Reader->InitializeContext(Context); + Reader->InitializeContext(Context); // Attach the PCH reader to the AST context as an external AST // source, so that declarations will be deserialized from the // PCH file as needed. - Source.reset(AST->Reader.get()); + Source.reset(Reader.take()); Context.setExternalSource(Source); return AST.take(); |