summaryrefslogtreecommitdiff
path: root/tools/llvm-link/llvm-link.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvm-link/llvm-link.cpp')
-rw-r--r--tools/llvm-link/llvm-link.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/tools/llvm-link/llvm-link.cpp b/tools/llvm-link/llvm-link.cpp
index b19213a6fa5..28be3a97f38 100644
--- a/tools/llvm-link/llvm-link.cpp
+++ b/tools/llvm-link/llvm-link.cpp
@@ -58,13 +58,11 @@ static inline std::auto_ptr<Module> LoadFile(const std::string &FN) {
Module* Result = 0;
const std::string &FNStr = Filename.toString();
- MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(&FNStr[0],
- FNStr.size());
- if (Buffer == 0)
- ErrorMessage = "Error reading file '" + FNStr + "'";
- else
+ if (MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(FNStr,
+ &ErrorMessage)) {
Result = ParseBitcodeFile(Buffer, &ErrorMessage);
- delete Buffer;
+ delete Buffer;
+ }
if (Result) return std::auto_ptr<Module>(Result); // Load successful!
if (Verbose) {