More code not compiled by CMake. :(.
authorMichael J. Spencer <bigcheesegs@gmail.com>
Thu, 9 Dec 2010 18:06:07 +0000 (18:06 +0000)
committerMichael J. Spencer <bigcheesegs@gmail.com>
Thu, 9 Dec 2010 18:06:07 +0000 (18:06 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121387 91177308-0d34-0410-b5e6-96231b3b80d8

tools/lto/LTOCodeGenerator.cpp
tools/lto/LTOModule.cpp

index 77747f7f28503a48026d875281295c47cbac9c11..f1c5680addae70adecde92622d6986fe534ee28c 100644 (file)
@@ -43,6 +43,7 @@
 #include "llvm/Support/Host.h"
 #include "llvm/Support/Program.h"
 #include "llvm/Support/Signals.h"
+#include "llvm/Support/system_error.h"
 #include "llvm/Config/config.h"
 #include <cstdlib>
 #include <unistd.h>
@@ -221,9 +222,12 @@ const void* LTOCodeGenerator::compile(size_t* length, std::string& errMsg)
     if ( !asmResult ) {
         // remove old buffer if compile() called twice
         delete _nativeObjectFile;
-        
+
         // read .o file into memory buffer
-        _nativeObjectFile = MemoryBuffer::getFile(uniqueObjStr.c_str(),&errMsg);
+        error_code ec;
+        _nativeObjectFile = MemoryBuffer::getFile(uniqueObjStr.c_str(), ec);
+        if (ec)
+          errMsg = ec.message();
     }
 
     // remove temp files
index 7a91562ec45137e44f3703ba465696b09f398a81..2453e2b2c2d1410cadb6239366fcdca992a7dd6c 100644 (file)
@@ -26,6 +26,7 @@
 #include "llvm/Support/Host.h"
 #include "llvm/Support/Path.h"
 #include "llvm/Support/Process.h"
+#include "llvm/Support/system_error.h"
 #include "llvm/Target/Mangler.h"
 #include "llvm/Target/SubtargetFeature.h"
 #include "llvm/MC/MCAsmInfo.h"
@@ -56,7 +57,8 @@ bool LTOModule::isBitcodeFileForTarget(const void *mem, size_t length,
 
 bool LTOModule::isBitcodeFileForTarget(const char *path,
                                        const char *triplePrefix) {
-  MemoryBuffer *buffer = MemoryBuffer::getFile(path);
+  error_code ec;
+  MemoryBuffer *buffer = MemoryBuffer::getFile(path, ec);
   if (buffer == NULL)
     return false;
   return isTargetMatch(buffer, triplePrefix);
@@ -78,9 +80,12 @@ LTOModule::LTOModule(Module *m, TargetMachine *t)
 
 LTOModule *LTOModule::makeLTOModule(const char *path,
                                     std::string &errMsg) {
-  OwningPtr<MemoryBuffer> buffer(MemoryBuffer::getFile(path, &errMsg));
-  if (!buffer)
+  error_code ec;
+  OwningPtr<MemoryBuffer> buffer(MemoryBuffer::getFile(path, ec));
+  if (!buffer) {
+    errMsg = ec.message();
     return NULL;
+  }
   return makeLTOModule(buffer.get(), errMsg);
 }