use the new MemoryBuffer interfaces to simplify error reporting in clients.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36900 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/llvm-link/llvm-link.cpp b/tools/llvm-link/llvm-link.cpp
index b19213a..28be3a9 100644
--- a/tools/llvm-link/llvm-link.cpp
+++ b/tools/llvm-link/llvm-link.cpp
@@ -58,13 +58,11 @@
     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) {