1 | // These tests try to ensure that the driver operates reasonably when run with |
2 | // a strange environment. Unfortunately, it requires a normal shell and the |
3 | // 'env' command that understands arguments, unlike the LIT built-in env. |
4 | // |
5 | // REQUIRES: shell |
6 | // The PATH variable is heavily used when trying to find a linker. |
7 | // RUN: env -i LC_ALL=C LD_LIBRARY_PATH="$LD_LIBRARY_PATH" \ |
8 | // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ |
9 | // RUN: --target=i386-unknown-linux \ |
10 | // RUN: --sysroot=%S/Inputs/basic_linux_tree \ |
11 | // RUN: --gcc-toolchain="" \ |
12 | // RUN: | FileCheck --check-prefix=CHECK-LD-32 %s |
13 | // |
14 | // RUN: env -i LC_ALL=C PATH="" LD_LIBRARY_PATH="$LD_LIBRARY_PATH" \ |
15 | // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ |
16 | // RUN: --target=i386-unknown-linux \ |
17 | // RUN: --sysroot=%S/Inputs/basic_linux_tree \ |
18 | // RUN: --gcc-toolchain="" \ |
19 | // RUN: | FileCheck --check-prefix=CHECK-LD-32 %s |
20 | // |
21 | // CHECK-LD-32-NOT: warning: |
22 | // CHECK-LD-32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" |
23 | // CHECK-LD-32: "{{.*}}/usr/lib/gcc/i386-unknown-linux/4.6.0{{/|\\\\}}crtbegin.o" |
24 | // CHECK-LD-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0" |
25 | // CHECK-LD-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/lib" |
26 | // CHECK-LD-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../.." |
27 | // CHECK-LD-32: "-L[[SYSROOT]]/lib" |
28 | // CHECK-LD-32: "-L[[SYSROOT]]/usr/lib" |
29 | |