summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2007-12-18 21:44:50 +0000
committerTed Kremenek <kremenek@apple.com>2007-12-18 21:44:50 +0000
commitf70d24d2ae9e4b4e32e82b0ccb97d3b3d6ba9cbe (patch)
treefd355192346a0df9418300e954f919d88bdf9526
parent824a9d8d4b5b8732ef80909059f875b202419b20 (diff)
downloadbcm5719-llvm-f70d24d2ae9e4b4e32e82b0ccb97d3b3d6ba9cbe.tar.gz
bcm5719-llvm-f70d24d2ae9e4b4e32e82b0ccb97d3b3d6ba9cbe.zip
Moved ReadBitcodeFile and EmitBitcodeFile out of TranslationUnit and made them
the standalone functions ReadASTBitcodeFile and EmitASTBitcodeFile respectively. llvm-svn: 45180
-rw-r--r--clang/AST/TranslationUnit.cpp10
-rw-r--r--clang/Driver/ASTConsumers.cpp2
-rw-r--r--clang/Driver/SerializationTest.cpp4
-rw-r--r--clang/Driver/clang.cpp2
-rw-r--r--clang/include/clang/AST/TranslationUnit.h16
5 files changed, 18 insertions, 16 deletions
diff --git a/clang/AST/TranslationUnit.cpp b/clang/AST/TranslationUnit.cpp
index 51f6b57da1f..7cf398b0afa 100644
--- a/clang/AST/TranslationUnit.cpp
+++ b/clang/AST/TranslationUnit.cpp
@@ -32,7 +32,8 @@ namespace {
using namespace clang;
-bool TranslationUnit::EmitBitcodeFile(const llvm::sys::Path& Filename) const {
+bool clang::EmitASTBitcodeFile(const TranslationUnit& TU,
+ const llvm::sys::Path& Filename) {
// Reserve 256K for bitstream buffer.
std::vector<unsigned char> Buffer;
@@ -55,7 +56,7 @@ bool TranslationUnit::EmitBitcodeFile(const llvm::sys::Path& Filename) const {
llvm::Serializer Sezr(Stream);
// Emit the translation unit.
- Emit(Sezr);
+ TU.Emit(Sezr);
}
// Write the bits to disk.
@@ -122,8 +123,7 @@ void TranslationUnit::Emit(llvm::Serializer& Sezr) const {
}
TranslationUnit*
-TranslationUnit::ReadBitcodeFile(const llvm::sys::Path& Filename,
- FileManager& FMgr) {
+clang::ReadASTBitcodeFile(const llvm::sys::Path& Filename, FileManager& FMgr) {
// Create the memory buffer that contains the contents of the file.
llvm::scoped_ptr<llvm::MemoryBuffer>
@@ -158,7 +158,7 @@ TranslationUnit::ReadBitcodeFile(const llvm::sys::Path& Filename,
// Create the deserializer.
llvm::Deserializer Dezr(Stream);
- return Create(Dezr,FMgr);
+ return TranslationUnit::Create(Dezr,FMgr);
}
TranslationUnit* TranslationUnit::Create(llvm::Deserializer& Dezr,
diff --git a/clang/Driver/ASTConsumers.cpp b/clang/Driver/ASTConsumers.cpp
index 1b25031418e..49bf59b8832 100644
--- a/clang/Driver/ASTConsumers.cpp
+++ b/clang/Driver/ASTConsumers.cpp
@@ -632,7 +632,7 @@ namespace {
TU.AddTopLevelDecl(D);
}
- ~ASTSerializer() { TU.EmitBitcodeFile(FName); }
+ ~ASTSerializer() { EmitASTBitcodeFile(TU,FName); }
};
} // end anonymous namespace
diff --git a/clang/Driver/SerializationTest.cpp b/clang/Driver/SerializationTest.cpp
index bb946e75da5..59b36e75a8c 100644
--- a/clang/Driver/SerializationTest.cpp
+++ b/clang/Driver/SerializationTest.cpp
@@ -76,14 +76,14 @@ bool SerializationTest::Serialize(llvm::sys::Path& Filename,
}
// Serialize the translation unit.
- return TU.EmitBitcodeFile(Filename);
+ return EmitASTBitcodeFile(TU,Filename);
}
bool SerializationTest::Deserialize(llvm::sys::Path& Filename,
llvm::sys::Path& FNameDeclPrint) {
// Deserialize the translation unit.
- TranslationUnit* NewTU = TranslationUnit::ReadBitcodeFile(Filename,FMgr);
+ TranslationUnit* NewTU = ReadASTBitcodeFile(Filename,FMgr);
if (!NewTU)
return false;
diff --git a/clang/Driver/clang.cpp b/clang/Driver/clang.cpp
index 80d6c241b7e..d440aad6a27 100644
--- a/clang/Driver/clang.cpp
+++ b/clang/Driver/clang.cpp
@@ -1048,7 +1048,7 @@ static void ProcessSerializedFile(const std::string& InFile, Diagnostic& Diag,
exit (1);
}
- TranslationUnit* TU = TranslationUnit::ReadBitcodeFile(Filename,FileMgr);
+ TranslationUnit* TU = ReadASTBitcodeFile(Filename,FileMgr);
if (!TU) {
fprintf(stderr, "error: file '%s' could not be deserialized\n",
diff --git a/clang/include/clang/AST/TranslationUnit.h b/clang/include/clang/AST/TranslationUnit.h
index e0fcdb431df..ee4bb20e682 100644
--- a/clang/include/clang/AST/TranslationUnit.h
+++ b/clang/include/clang/AST/TranslationUnit.h
@@ -46,19 +46,12 @@ public:
ASTContext* getContext() const { return Context; }
const LangOptions& getLangOpts() const { return LangOpts; }
- /// EmitBitcodeFile - Emit the translation unit to a bitcode file.
- bool EmitBitcodeFile(const llvm::sys::Path& Filename) const;
-
/// Emit - Emit the translation unit to an arbitray bitcode stream.
void Emit(llvm::Serializer& S) const;
/// Create - Reconsititute a translation unit from a bitcode stream.
static TranslationUnit* Create(llvm::Deserializer& D, FileManager& FMgr);
- /// ReadBitcodeFile - Reconsitute a translation unit from a bitcode file.
- static TranslationUnit* ReadBitcodeFile(const llvm::sys::Path& Filename,
- FileManager& FMgr);
-
// Accessors
const LangOptions& getLangOptions() const { return LangOpts; }
ASTContext* getASTContext() { return Context; }
@@ -77,6 +70,15 @@ public:
const_iterator end() const { return TopLevelDecls.end(); }
};
+/// EmitASTBitcodeFile - Emit a translation unit to a bitcode file.
+bool EmitASTBitcodeFile(const TranslationUnit& TU,
+ const llvm::sys::Path& Filename);
+
+/// ReadASTBitcodeFile - Reconsitute a translation unit from a bitcode file.
+TranslationUnit* ReadASTBitcodeFile(const llvm::sys::Path& Filename,
+ FileManager& FMgr);
+
+
} // end namespace clang
#endif
OpenPOWER on IntegriCloud