зеркало из https://github.com/mozilla/gecko-dev.git
23 строки
1.1 KiB
Diff
23 строки
1.1 KiB
Diff
In a proper VS install, the path to cl.exe looks like:
|
|
...\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\cl.exe
|
|
|
|
In our automation, the path is just:
|
|
...\VC\bin\HostX64\x64\cl.exe
|
|
|
|
Clang tries to do some sanity-checking to make sure that the cl.exe it finds is the Microsoft compiler and not some other program. But the checks are a little too strict for us, so just look for "bin\Host*\*\cl.exe".
|
|
|
|
diff --git a/clang/lib/Driver/ToolChains/MSVC.cpp b/clang/lib/Driver/ToolChains/MSVC.cpp
|
|
index 7978a6941cb..0159e89fa27 100644
|
|
--- a/clang/lib/Driver/ToolChains/MSVC.cpp
|
|
+++ b/clang/lib/Driver/ToolChains/MSVC.cpp
|
|
@@ -152,8 +152,7 @@ static bool findVCToolChainViaEnvironment(std::string &Path,
|
|
// path components with these prefixes when walking backwards through
|
|
// the path.
|
|
// Note: empty strings match anything.
|
|
- llvm::StringRef ExpectedPrefixes[] = {"", "Host", "bin", "",
|
|
- "MSVC", "Tools", "VC"};
|
|
+ llvm::StringRef ExpectedPrefixes[] = {"", "Host", "bin"};
|
|
|
|
auto It = llvm::sys::path::rbegin(PathEntry);
|
|
auto End = llvm::sys::path::rend(PathEntry);
|