Use error_code instead of std::string* for MemoryBuffer.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121378 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp
index 2de7c30..9af6263 100644
--- a/lib/Driver/ToolChains.cpp
+++ b/lib/Driver/ToolChains.cpp
@@ -26,6 +26,7 @@
 #include "llvm/Support/MemoryBuffer.h"
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/Support/Path.h"
+#include "llvm/Support/system_error.h"
 
 #include <cstdlib> // ::getenv
 
@@ -1243,8 +1244,9 @@
 }
 
 static LinuxDistro DetectLinuxDistro(llvm::Triple::ArchType Arch) {
+  llvm::error_code ec;
   llvm::OwningPtr<const llvm::MemoryBuffer>
-    LsbRelease(llvm::MemoryBuffer::getFile("/etc/lsb-release"));
+    LsbRelease(llvm::MemoryBuffer::getFile("/etc/lsb-release", ec));
   if (LsbRelease) {
     llvm::StringRef Data = LsbRelease.get()->getBuffer();
     llvm::SmallVector<llvm::StringRef, 8> Lines;
@@ -1263,7 +1265,7 @@
   }
 
   llvm::OwningPtr<const llvm::MemoryBuffer>
-    RHRelease(llvm::MemoryBuffer::getFile("/etc/redhat-release"));
+    RHRelease(llvm::MemoryBuffer::getFile("/etc/redhat-release", ec));
   if (RHRelease) {
     llvm::StringRef Data = RHRelease.get()->getBuffer();
     if (Data.startswith("Fedora release 14 (Laughlin)"))
@@ -1274,7 +1276,7 @@
   }
 
   llvm::OwningPtr<const llvm::MemoryBuffer>
-    DebianVersion(llvm::MemoryBuffer::getFile("/etc/debian_version"));
+    DebianVersion(llvm::MemoryBuffer::getFile("/etc/debian_version", ec));
   if (DebianVersion) {
     llvm::StringRef Data = DebianVersion.get()->getBuffer();
     if (Data[0] == '5')
@@ -1285,7 +1287,7 @@
   }
 
   llvm::OwningPtr<const llvm::MemoryBuffer>
-    SuseRelease(llvm::MemoryBuffer::getFile("/etc/SuSE-release"));
+    SuseRelease(llvm::MemoryBuffer::getFile("/etc/SuSE-release", ec));
   if (SuseRelease) {
     llvm::StringRef Data = SuseRelease.get()->getBuffer();
     if (Data.startswith("openSUSE 11.3"))