[llvm-commits] CVS: llvm/lib/Bytecode/Archive/Archive.cpp ArchiveWriter.cpp

Reid Spencer reid at x10sys.com
Tue Aug 22 09:07:58 PDT 2006



Changes in directory llvm/lib/Bytecode/Archive:

Archive.cpp updated: 1.12 -> 1.13
ArchiveWriter.cpp updated: 1.25 -> 1.26
---
Log message:

For PR797: http://llvm.org/PR797 :
Adjust to new interface for MappedFile. Note that the new "throw" 
statements will be removed later.


---
Diffs of the changes:  (+19 -6)

 Archive.cpp       |    8 ++++++--
 ArchiveWriter.cpp |   17 +++++++++++++----
 2 files changed, 19 insertions(+), 6 deletions(-)


Index: llvm/lib/Bytecode/Archive/Archive.cpp
diff -u llvm/lib/Bytecode/Archive/Archive.cpp:1.12 llvm/lib/Bytecode/Archive/Archive.cpp:1.13
--- llvm/lib/Bytecode/Archive/Archive.cpp:1.12	Fri Jul 28 17:03:44 2006
+++ llvm/lib/Bytecode/Archive/Archive.cpp	Tue Aug 22 11:07:44 2006
@@ -137,8 +137,12 @@
     symTabSize(0), firstFileOffset(0), modules(), foreignST(0)
 {
   if (map) {
-    mapfile = new sys::MappedFile(filename);
-    base = (char*) mapfile->map();
+    std::string ErrMsg;
+    mapfile = new sys::MappedFile();
+    if (mapfile->open(filename, sys::MappedFile::READ_ACCESS, &ErrMsg))
+      throw ErrMsg;
+    if (!(base = (char*) mapfile->map(&ErrMsg)))
+      throw ErrMsg;
   }
 }
 


Index: llvm/lib/Bytecode/Archive/ArchiveWriter.cpp
diff -u llvm/lib/Bytecode/Archive/ArchiveWriter.cpp:1.25 llvm/lib/Bytecode/Archive/ArchiveWriter.cpp:1.26
--- llvm/lib/Bytecode/Archive/ArchiveWriter.cpp:1.25	Fri Jul 28 17:29:50 2006
+++ llvm/lib/Bytecode/Archive/ArchiveWriter.cpp	Tue Aug 22 11:07:44 2006
@@ -205,8 +205,12 @@
   const char* data = (const char*)member.getData();
   sys::MappedFile* mFile = 0;
   if (!data) {
-    mFile = new sys::MappedFile(member.getPath());
-    data = (const char*) mFile->map();
+    std::string ErrMsg;
+    mFile = new sys::MappedFile();
+    if (mFile->open(member.getPath(), sys::MappedFile::READ_ACCESS, &ErrMsg))
+      throw ErrMsg;
+    if (data = (const char*) mFile->map(&ErrMsg))
+      throw ErrMsg;
     fSize = mFile->size();
   }
 
@@ -437,8 +441,13 @@
     // we just wrote back in and copying it to the destination file.
 
     // Map in the archive we just wrote.
-    sys::MappedFile arch(TmpArchive);
-    const char* base = (const char*) arch.map();
+    sys::MappedFile arch;
+    std::string ErrMsg;
+    if (arch.open(TmpArchive, sys::MappedFile::READ_ACCESS, &ErrMsg))
+      throw ErrMsg;
+    const char* base;
+    if (!(base = (const char*) arch.map(&ErrMsg)))
+      throw ErrMsg;
 
     // Open another temporary file in order to avoid invalidating the 
     // mmapped data






More information about the llvm-commits mailing list