Change ScheduleDAG's SUnitMap from DenseMap<SDNode*, vector<SUnit*> >
[oota-llvm.git] / lib / Archive / Archive.cpp
index c5da1145384e17f80ca544a73b7036cd53797ad5..a0e5eedc9c94a2369f13db9b02f22a6c42f6e035 100644 (file)
@@ -17,7 +17,6 @@
 #include "llvm/ModuleProvider.h"
 #include "llvm/Module.h"
 #include "llvm/Support/MemoryBuffer.h"
-#include "llvm/System/MappedFile.h"
 #include "llvm/System/Process.h"
 #include <memory>
 #include <cstring>
@@ -145,25 +144,19 @@ Archive::Archive(const sys::Path& filename)
 }
 
 bool
-Archive::mapToMemory(std::string* ErrMsg)
-{
-  mapfile = new sys::MappedFile();
-  if (mapfile->open(archPath, ErrMsg))
-    return true;
-  if (!(base = (char*) mapfile->map(ErrMsg)))
+Archive::mapToMemory(std::string* ErrMsg) {
+  mapfile = MemoryBuffer::getFile(archPath.c_str(), ErrMsg);
+  if (mapfile == 0)
     return true;
+  base = mapfile->getBufferStart();
   return false;
 }
 
 void Archive::cleanUpMemory() {
   // Shutdown the file mapping
-  if (mapfile) {
-    mapfile->close();
-    delete mapfile;
-    
-    mapfile = 0;
-    base = 0;
-  }
+  delete mapfile;
+  mapfile = 0;
+  base = 0;
   
   // Forget the entire symbol table
   symTab.clear();
@@ -218,8 +211,7 @@ bool llvm::GetBitcodeSymbols(const sys::Path& fName,
                              std::vector<std::string>& symbols,
                              std::string* ErrMsg) {
   std::auto_ptr<MemoryBuffer> Buffer(
-                       MemoryBuffer::getFileOrSTDIN(&fName.toString()[0],
-                                                    fName.toString().size()));
+                       MemoryBuffer::getFileOrSTDIN(fName.c_str()));
   if (!Buffer.get()) {
     if (ErrMsg) *ErrMsg = "Could not open file '" + fName.toString() + "'";
     return true;