#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>
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
#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"
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);
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);
}