[LLD] [COFF] Don't try to detect MSVC installations in mingw mode
authorMartin Storsjö <martin@martin.st>
Wed, 15 Feb 2023 10:06:45 +0000 (12:06 +0200)
committerMartin Storsjö <martin@martin.st>
Fri, 17 Feb 2023 08:56:43 +0000 (10:56 +0200)
commit389bfbd66d6f78b5fc60e51e620e7f767fc867f0
tree1b8c5d58deeca000c9baa03f90b2a24d5de25c5b
parent3d84f4268dd9e1257e71938485fa23d17210ba44
[LLD] [COFF] Don't try to detect MSVC installations in mingw mode

In mingw mode, all linker paths are passed explicitly to the linker
by the compiler driver. Don't try to implicitly add linker paths
from the LIB environment variable or by detecting an MSVC
installation directory.

If the /winsysroot command line parameter is explicitly passed to
lld-link while /lldmingw is specified, it could be considered reasonable
to actually include those paths. However, modifying the code to
handle only the /winsysroot case but not the other ones, when the
mingw mode has been enabled, seems like much more code complexity
for a mostly hypothetical case.

Add a test for this when case when using LIB. (The code paths for
trying to detect an MSVC installation aren't really regression tested.)

Also fix an issue in the existing test for "Check that when /winsysroot
is specified, %LIB% is ignored.", where the LIB variable pointed
to a nonexistent directory, so the test would pass even if /winsysroot
wouldn't be specified.

Differential Revision: https://reviews.llvm.org/D144084
lld/COFF/Driver.cpp
lld/test/COFF/winsysroot.test