| // REQUIRES: system-windows |
| |
| // We used to require adding ".exe" suffix when cross-compiling on Windows. |
| // RUN: %clang %s -### -o %t.o -target i386-unknown-linux \ |
| // RUN: -B %S/Inputs/fuse_ld_windows -fuse-ld=foo 2>&1 \ |
| // RUN: | FileCheck %s |
| |
| // Check that the old variant still works. |
| // RUN: %clang %s -### -o %t.o -target i386-unknown-linux \ |
| // RUN: -B %S/Inputs/fuse_ld_windows -fuse-ld=foo.exe 2>&1 \ |
| // RUN: | FileCheck %s |
| |
| // With the full path, the extension can be omitted, too, |
| // because Windows allows that. |
| // RUN: %clang %s -### -o %t.o -target i386-unknown-linux \ |
| // RUN: -fuse-ld=%S/Inputs/fuse_ld_windows/ld.foo 2>&1 \ |
| // RUN: | FileCheck %s |
| |
| // Check that the full path with the extension works too. |
| // RUN: %clang %s -### -o %t.o -target i386-unknown-linux \ |
| // RUN: -fuse-ld=%S/Inputs/fuse_ld_windows/ld.foo.exe 2>&1 \ |
| // RUN: | FileCheck %s |
| |
| // CHECK-NOT: invalid linker name |
| // CHECK: /Inputs/fuse_ld_windows{{/|\\\\}}ld.foo |