diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /build/build-clang/loosen-msvc-detection.patch | |
parent | Initial commit. (diff) | |
download | firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'build/build-clang/loosen-msvc-detection.patch')
-rw-r--r-- | build/build-clang/loosen-msvc-detection.patch | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/build/build-clang/loosen-msvc-detection.patch b/build/build-clang/loosen-msvc-detection.patch new file mode 100644 index 0000000000..03cd72e929 --- /dev/null +++ b/build/build-clang/loosen-msvc-detection.patch @@ -0,0 +1,22 @@ +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); |