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 | |