================
@@ -61,9 +61,8 @@
 
 // RUN: %clang --target=i686-pc-windows-msvc -g -fuse-ld= -### %s 2>&1 | 
FileCheck --check-prefix=DEBUG-LINK %s
 // RUN: %clang --target=i686-pc-windows-msvc -g -fuse-ld=link -### %s 2>&1 | 
FileCheck --check-prefix=DEBUG-LINK %s
-// DEBUG-LINK: link.exe"
+// DEBUG-LINK: "{{([^"]*[/\\])?}}link.exe"
----------------
zeroomega wrote:

Why it won't work? Build task 
https://ci.chromium.org/ui/p/fuchsia/builders/toolchain.ci.shadow/clang-linux-x64/b8668993331892795153/overview
 was test run on this PR using `clang/cmake/caches/Fuchsia-stage2.cmake` cache 
file (see 
https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8668993331892795153/+/u/clang/configure/l_execution_details).
 And this cache file set the flag you mentioned to lld: 
https://github.com/llvm/llvm-project/blob/018a46162a84070109760677031bcd636ed6026e/clang/cmake/caches/Fuchsia-stage2.cmake#L43
So we already tested the scenario you suspected and it passed.

Also the two RUN: at L62 and 63 overrides the linker with -fuse-ld.

In visualstudio::Linker::ConstructJob:
https://github.com/llvm/llvm-project/blob/018a46162a84070109760677031bcd636ed6026e/clang/lib/Driver/ToolChains/MSVC.cpp#L341-L361


Because `-fuse-ld=` is present on the command line, `A` is non-null, so 
`TC.getDriver().getPreferredLinker()` (CLANG_DEFAULT_LINKER) is not used. 
`A->getValue()` returns "", which enters `if (Linker.empty())` and selects 
"link" (link.exe).

In this case, the test should pass even after the modification.

https://github.com/llvm/llvm-project/pull/228657
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to