| 1 | // REQUIRES: system-windows |
| 2 | |
| 3 | // We used to require adding ".exe" suffix when cross-compiling on Windows. |
| 4 | // RUN: %clang %s -### -o %t.o -target i386-unknown-linux \ |
| 5 | // RUN: -B %S/Inputs/fuse_ld_windows -fuse-ld=foo 2>&1 \ |
| 6 | // RUN: | FileCheck %s |
| 7 | |
| 8 | // Check that the old variant still works. |
| 9 | // RUN: %clang %s -### -o %t.o -target i386-unknown-linux \ |
| 10 | // RUN: -B %S/Inputs/fuse_ld_windows -fuse-ld=foo.exe 2>&1 \ |
| 11 | // RUN: | FileCheck %s |
| 12 | |
| 13 | // With the full path, the extension can be omitted, too, |
| 14 | // because Windows allows that. |
| 15 | // RUN: %clang %s -### -o %t.o -target i386-unknown-linux \ |
| 16 | // RUN: -fuse-ld=%S/Inputs/fuse_ld_windows/ld.foo 2>&1 \ |
| 17 | // RUN: | FileCheck %s |
| 18 | |
| 19 | // Check that the full path with the extension works too. |
| 20 | // RUN: %clang %s -### -o %t.o -target i386-unknown-linux \ |
| 21 | // RUN: -fuse-ld=%S/Inputs/fuse_ld_windows/ld.foo.exe 2>&1 \ |
| 22 | // RUN: | FileCheck %s |
| 23 | |
| 24 | // CHECK-NOT: invalid linker name |
| 25 | // CHECK: /Inputs/fuse_ld_windows{{/|\\\\}}ld.foo |
| 26 | |