[Driver] Use VFS to perform all distribution checks
Use the VFS provided by D.getVFS() for all distribution checks,
including those performing read of the release file. Requested
by @bruno on D24954.
Differential Revision: https://reviews.llvm.org/D25641
llvm-svn: 284403
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp
index b51ae1c..a9fd7ee 100644
--- a/clang/lib/Driver/ToolChains.cpp
+++ b/clang/lib/Driver/ToolChains.cpp
@@ -3844,7 +3844,7 @@
static Distro DetectDistro(const Driver &D, llvm::Triple::ArchType Arch) {
llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> File =
- llvm::MemoryBuffer::getFile("/etc/lsb-release");
+ D.getVFS().getBufferForFile("/etc/lsb-release");
if (File) {
StringRef Data = File.get()->getBuffer();
SmallVector<StringRef, 16> Lines;
@@ -3876,7 +3876,7 @@
return Version;
}
- File = llvm::MemoryBuffer::getFile("/etc/redhat-release");
+ File = D.getVFS().getBufferForFile("/etc/redhat-release");
if (File) {
StringRef Data = File.get()->getBuffer();
if (Data.startswith("Fedora release"))
@@ -3894,7 +3894,7 @@
return UnknownDistro;
}
- File = llvm::MemoryBuffer::getFile("/etc/debian_version");
+ File = D.getVFS().getBufferForFile("/etc/debian_version");
if (File) {
StringRef Data = File.get()->getBuffer();
if (Data[0] == '5')