blob: 0d34a5e41ab2d1830a60971b1c0a273a11aea1f4 [file] [log] [blame]
Jonathan Roelofs901c7762017-05-25 15:42:13 +00001// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2// RUN: -target armv6m-none-eabi \
3// RUN: -T semihosted.lds \
4// RUN: -L some/directory/user/asked/for \
5// RUN: --sysroot=%S/Inputs/baremetal_arm \
6// RUN: | FileCheck --check-prefix=CHECK-V6M-C %s
7// CHECK-V6M-C: "[[PREFIX_DIR:.*]]/bin/clang" "-cc1" "-triple" "thumbv6m-none--eabi"
8// CHECK-V6M-C-SAME: "-resource-dir" "[[PREFIX_DIR]]/lib/clang/[[VERSION:[^"]*]]"
9// CHECK-V6M-C-SAME: "-isysroot" "[[SYSROOT:[^"]*]]"
10// CHECK-V6M-C-SAME: "-internal-isystem" "[[SYSROOT]]/include/c++/v1"
11// CHECk-V6M-C-SAME: "-internal-isystem" "[[SYSROOT]]/include"
12// CHECK-V6M-C-SAME: "-x" "c++" "{{.*}}baremetal.cpp"
13// CHECK-V6M-C-NEXT: "[[PREFIX_DIR:.*]]/bin/ld.lld" "{{.*}}.o" "-Bstatic"
14// CHECK-V6M-C-SAME: "-L[[PREFIX_DIR]]/lib/clang/[[VERSION]]/lib/baremetal"
15// CHECK-V6M-C-SAME: "-T" "semihosted.lds" "-Lsome/directory/user/asked/for"
16// CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
17// CHECK-V6M-C-SAME: "-o" "{{.*}}.o"
18
19// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
20// RUN: -target armv6m-none-eabi \
21// RUN: -nostdlibinc -nobuiltininc \
22// RUN: --sysroot=%S/Inputs/baremetal_arm \
23// RUN: | FileCheck --check-prefix=CHECK-V6M-LIBINC %s
24// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
25// RUN: -target armv6m-none-eabi \
26// RUN: -nostdinc \
27// RUN: --sysroot=%S/Inputs/baremetal_arm \
28// RUN: | FileCheck --check-prefix=CHECK-V6M-LIBINC %s
29// CHECK-V6M-LIBINC-NOT: "-internal-isystem"
30
31// RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
32// RUN: -target armv6m-none-eabi \
33// RUN: --sysroot=%S/Inputs/baremetal_arm \
34// RUN: | FileCheck --check-prefix=CHECK-V6M-DEFAULTCXX %s
35// CHECK-V6M-DEFAULTCXX: "[[PREFIX_DIR:.*]]/bin/ld.lld" "{{.*}}.o" "-Bstatic"
36// CHECK-V6M-DEFAULTCXX-SAME: "-L[[PREFIX_DIR]]/lib/clang/{{.*}}/lib/baremetal"
37// CHECK-V6M-DEFAULTCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
38// CHECK-V6M-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
39// CHECK-V6M-DEFAULTCXX-SAME: "-o" "{{.*}}.o"
40
41// RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
42// RUN: -target armv6m-none-eabi \
43// RUN: --sysroot=%S/Inputs/baremetal_arm \
44// RUN: -stdlib=libc++ \
45// RUN: | FileCheck --check-prefix=CHECK-V6M-LIBCXX %s
46// CHECK-V6M-LIBCXX-NOT: "-internal-isystem" "{{[^"]+}}/include/c++/{{[^v].*}}"
47// CHECK-V6M-LIBCXX: "-internal-isystem" "{{[^"]+}}/include/c++/v1"
48// CHECK-V6M-LIBCXX: "[[PREFIX_DIR:.*]]/bin/ld.lld" "{{.*}}.o" "-Bstatic"
49// CHECK-V6M-LIBCXX-SAME: "-L[[PREFIX_DIR]]/lib/clang/{{.*}}/lib/baremetal"
50// CHECK-V6M-LIBCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
51// CHECK-V6M-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
52// CHECK-V6M-LIBCXX-SAME: "-o" "{{.*}}.o"
53
54// RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
55// RUN: -target armv6m-none-eabi \
56// RUN: --sysroot=%S/Inputs/baremetal_arm \
57// RUN: -stdlib=libstdc++ \
58// RUN: | FileCheck --check-prefix=CHECK-V6M-LIBSTDCXX %s
59// CHECK-V6M-LIBSTDCXX-NOT: "-internal-isystem" "{{[^"]+}}/include/c++/v1"
60// CHECK-V6M-LIBSTDCXX: "-internal-isystem" "{{[^"]+}}/include/c++/6.0.0"
61// CHECK-V6M-LIBSTDCXX: "[[PREFIX_DIR:.*]]/bin/ld.lld" "{{.*}}.o" "-Bstatic"
62// CHECK-V6M-LIBSTDCXX-SAME: "-L[[PREFIX_DIR]]/lib/clang/{{.*}}/lib/baremetal"
63// CHECK-V6M-LIBSTDCXX-SAME: "-lstdc++" "-lsupc++" "-lunwind"
64// CHECK-V6M-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m.a"
65// CHECK-V6M-LIBSTDCXX-SAME: "-o" "{{.*}}.o"
66
67// RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
68// RUN: -target armv6m-none-eabi \
69// RUN: --sysroot=%S/Inputs/baremetal_arm \
70// RUN: -nodefaultlibs \
71// RUN: | FileCheck --check-prefix=CHECK-V6M-NDL %s
72// CHECK-V6M-NDL: "[[PREFIX_DIR:.*]]/bin/ld.lld" "{{.*}}.o" "-Bstatic"
73// CHECK-V6M-NDL-SAME: "-L[[PREFIX_DIR]]/lib/clang/{{.*}}/lib/baremetal" "-o" "{{.*}}.o"
74
75// RUN: %clangxx -target arm-none-eabi -v 2>&1 \
76// RUN: | FileCheck %s --check-prefix=CHECK-THREAD-MODEL
77// CHECK-THREAD-MODEL: Thread model: single