diff options
author | Michael Kruse <llvm-project@meinersbur.de> | 2023-03-08 12:56:29 -0600 |
---|---|---|
committer | Michael Kruse <llvm-project@meinersbur.de> | 2023-03-08 16:46:20 -0600 |
commit | b52cf4c41cd0f8c84e304c0e65efca85ccde30d7 (patch) | |
tree | 8fbf7a0023f9ed6d3a8678944547d898f7384145 | |
parent | 991945f4410af9df33f0889bf3c0695fd45a28b1 (diff) | |
download | llvm-b52cf4c41cd0f8c84e304c0e65efca85ccde30d7.zip llvm-b52cf4c41cd0f8c84e304c0e65efca85ccde30d7.tar.gz llvm-b52cf4c41cd0f8c84e304c0e65efca85ccde30d7.tar.bz2 |
[flang] Fix linker test on Windows.
The linker-flags.f90 test checks for the linker command line. The `-target` indicates cross-compiling, the toolchain executables themselves are still running on the native platform. If it is Windows, the driver will try to fully resolve the path to `ld` which may include an `.exe` suffix.
In my case, it resolves to the MinGW installation (`"C:\\tools\\msys64\\usr\\bin\\ld.exe"`) found in `PATH`. The GNU ld that comes with the MSYS2 distribution does not support `elf64lppc` or MacOS emulation modes (`acosx_version_min`), but the test also does not require executing the linker.
Reviewed By: awarzynski
Differential Revision: https://reviews.llvm.org/D144592
-rw-r--r-- | flang/test/Driver/linker-flags.f90 | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/flang/test/Driver/linker-flags.f90 b/flang/test/Driver/linker-flags.f90 index 90c4a94..e1350b74 100644 --- a/flang/test/Driver/linker-flags.f90 +++ b/flang/test/Driver/linker-flags.f90 @@ -17,20 +17,24 @@ ! CHECK-SAME: "-o" "[[object_file:.*\.o]]" {{.*}}Inputs/hello.f90 ! Linker invocation to generate the executable -! GNU-LABEL: "{{.*}}ld" +! NOTE: Since we are cross-compiling, the host toolchain executables may +! run on any other platform, such as Windows that use a .exe +! suffix. Clang's driver will try to resolve the path to the ld +! executable and may find the GNU linker from MinGW or Cygwin. +! GNU-LABEL: "{{.*}}ld{{(\.exe)?}}" ! GNU-SAME: "[[object_file]]" ! GNU-SAME: -lFortran_main ! GNU-SAME: -lFortranRuntime ! GNU-SAME: -lFortranDecimal ! GNU-SAME: -lm -! DARWIN-LABEL: "{{.*}}ld" +! DARWIN-LABEL: "{{.*}}ld{{(\.exe)?}}" ! DARWIN-SAME: "[[object_file]]" ! DARWIN-SAME: -lFortran_main ! DARWIN-SAME: -lFortranRuntime ! DARWIN-SAME: -lFortranDecimal -! MINGW-LABEL: "{{.*}}ld" +! MINGW-LABEL: "{{.*}}ld{{(\.exe)?}}" ! MINGW-SAME: "[[object_file]]" ! MINGW-SAME: -lFortran_main ! MINGW-SAME: -lFortranRuntime |