Moved LangOptions from TranslationUnit to ASTContext. This induced a variety of cleanups in some ASTConsumers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51943 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/SerializationTest.cpp b/Driver/SerializationTest.cpp
index 5f7b94f..946a4c8 100644
--- a/Driver/SerializationTest.cpp
+++ b/Driver/SerializationTest.cpp
@@ -33,26 +33,16 @@
namespace {
class SerializationTest : public ASTConsumer {
- llvm::OwningPtr<TranslationUnit> TU;
+ TranslationUnit* TU;
Diagnostic &Diags;
FileManager &FMgr;
- const LangOptions& lopts;
public:
- SerializationTest(Diagnostic &d, FileManager& fmgr, const LangOptions& LOpts)
- : Diags(d), FMgr(fmgr), lopts(LOpts) {}
+ SerializationTest(Diagnostic &d, FileManager& fmgr)
+ : TU(0), Diags(d), FMgr(fmgr) {}
~SerializationTest();
- virtual void Initialize(ASTContext& context) {
- if (!TU) {
- TU.reset(new TranslationUnit(context, lopts));
- TU->SetOwnsDecls(false);
- }
- }
-
- virtual void HandleTopLevelDecl(Decl *D) {
- TU->AddTopLevelDecl(D);
- }
+ virtual void InitializeTU(TranslationUnit& tu) { TU = &tu; }
private:
bool Serialize(llvm::sys::Path& Filename, llvm::sys::Path& FNameDeclPrint);
@@ -62,10 +52,8 @@
} // end anonymous namespace
ASTConsumer*
-clang::CreateSerializationTest(Diagnostic &Diags, FileManager& FMgr,
- const LangOptions &LOpts) {
-
- return new SerializationTest(Diags,FMgr,LOpts);
+clang::CreateSerializationTest(Diagnostic &Diags, FileManager& FMgr) {
+ return new SerializationTest(Diags, FMgr);
}
@@ -89,7 +77,7 @@
llvm::sys::Path& FNameDeclPrint) {
// Deserialize the translation unit.
- TranslationUnit* NewTU = ReadASTBitcodeFile(Filename,FMgr);
+ TranslationUnit* NewTU = ReadASTBitcodeFile(Filename, FMgr);
if (!NewTU)
return false;