1 // 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:.*]]{{[/\\]+}}{{[^/^\\]+}}{{[/\\]+}}clang{{.*}}" "-cc1" "-triple" "thumbv6m-none-unknown-eabi"
8 // CHECK-V6M-C-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
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: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
14 // CHECK-V6M-C-SAME: "-L[[RESOURCE_DIR:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}baremetal"
15 // CHECK-V6M-C-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib"
16 // CHECK-V6M-C-SAME: "-T" "semihosted.lds" "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for"
17 // CHECK-V6M-C-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
18 // CHECK-V6M-C-SAME: "-o" "{{.*}}.o"
19 
20 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
21 // RUN:     -target armv6m-none-eabi \
22 // RUN:     -nostdlibinc -nobuiltininc \
23 // RUN:     --sysroot=%S/Inputs/baremetal_arm \
24 // RUN:   | FileCheck --check-prefix=CHECK-V6M-LIBINC %s
25 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
26 // RUN:     -target armv6m-none-eabi \
27 // RUN:     -nostdinc \
28 // RUN:     --sysroot=%S/Inputs/baremetal_arm \
29 // RUN:   | FileCheck --check-prefix=CHECK-V6M-LIBINC %s
30 // CHECK-V6M-LIBINC-NOT: "-internal-isystem"
31 
32 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
33 // RUN:     -target armv6m-none-eabi \
34 // RUN:     --sysroot=%S/Inputs/baremetal_arm \
35 // RUN:   | FileCheck --check-prefix=CHECK-V6M-DEFAULTCXX %s
36 // CHECK-V6M-DEFAULTCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
37 // CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
38 // CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib"
39 // CHECK-V6M-DEFAULTCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
40 // CHECK-V6M-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
41 // CHECK-V6M-DEFAULTCXX-SAME: "-o" "{{.*}}.o"
42 
43 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
44 // RUN:     -target armv6m-none-eabi \
45 // RUN:     --sysroot=%S/Inputs/baremetal_arm \
46 // RUN:     -stdlib=libc++ \
47 // RUN:   | FileCheck --check-prefix=CHECK-V6M-LIBCXX %s
48 // CHECK-V6M-LIBCXX-NOT: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}{{[^v].*}}"
49 // CHECK-V6M-LIBCXX: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
50 // CHECK-V6M-LIBCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
51 // CHECK-V6M-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
52 // CHECK-V6M-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib"
53 // CHECK-V6M-LIBCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
54 // CHECK-V6M-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
55 // CHECK-V6M-LIBCXX-SAME: "-o" "{{.*}}.o"
56 
57 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
58 // RUN:     -target armv6m-none-eabi \
59 // RUN:     --sysroot=%S/Inputs/baremetal_arm \
60 // RUN:     -stdlib=libstdc++ \
61 // RUN:   | FileCheck --check-prefix=CHECK-V6M-LIBSTDCXX %s
62 // CHECK-V6M-LIBSTDCXX-NOT: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
63 // CHECK-V6M-LIBSTDCXX: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}6.0.0"
64 // CHECK-V6M-LIBSTDCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
65 // CHECK-V6M-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
66 // CHECK-V6M-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib"
67 // CHECK-V6M-LIBSTDCXX-SAME: "-lstdc++" "-lsupc++" "-lunwind"
68 // CHECK-V6M-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-armv6m"
69 // CHECK-V6M-LIBSTDCXX-SAME: "-o" "{{.*}}.o"
70 
71 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
72 // RUN:     -target armv6m-none-eabi \
73 // RUN:     --sysroot=%S/Inputs/baremetal_arm \
74 // RUN:     -nodefaultlibs \
75 // RUN:   | FileCheck --check-prefix=CHECK-V6M-NDL %s
76 // CHECK-V6M-NDL: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
77 // CHECK-V6M-NDL-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
78 // CHECK-V6M-NDL-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib" "-o" "{{.*}}.o"
79 
80 // RUN: %clangxx -target arm-none-eabi -v 2>&1 \
81 // RUN:   | FileCheck %s --check-prefix=CHECK-THREAD-MODEL
82 // CHECK-THREAD-MODEL: Thread model: posix
83 
84 // RUN: %clangxx -target arm-none-eabi -mthread-model single -v 2>&1 \
85 // RUN:   | FileCheck %s --check-prefix=CHECK-THREAD-MODEL-SINGLE
86 // CHECK-THREAD-MODEL-SINGLE: Thread model: single
87 
88 // RUN: %clangxx -target arm-none-eabi -mthread-model posix -v 2>&1 \
89 // RUN:   | FileCheck %s --check-prefix=CHECK-THREAD-MODEL-POSIX
90 // CHECK-THREAD-MODEL-POSIX: Thread model: posix
91 
92 // RUN: %clang -### -target arm-none-eabi -rtlib=libgcc -v %s 2>&1 \
93 // RUN:   | FileCheck %s --check-prefix=CHECK-RTLIB-GCC
94 // CHECK-RTLIB-GCC: -lgcc
95 
96 // RUN: %clang -### -target arm-none-eabi -v %s 2>&1 \
97 // RUN:   | FileCheck %s --check-prefix=CHECK-SYSROOT-INC
98 // CHECK-SYSROOT-INC-NOT: "-internal-isystem" "include"
99 
100 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
101 // RUN:     -target riscv64-unknown-elf \
102 // RUN:     -L some/directory/user/asked/for \
103 // RUN:     --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \
104 // RUN:   | FileCheck --check-prefix=CHECK-RV64 %s
105 // CHECK-RV64: "[[PREFIX_DIR:.*]]{{[/\\]+}}{{[^/^\\]+}}{{[/\\]+}}clang{{.*}}" "-cc1" "-triple" "riscv64-unknown-unknown-elf"
106 // CHECK-RV64-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
107 // CHECK-RV64-SAME: "-isysroot" "[[SYSROOT:[^"]*]]"
108 // CHECK-RV64-SAME: "-internal-isystem" "[[SYSROOT]]{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
109 // CHECk-RV64-SAME: "-internal-isystem" "[[SYSROOT]]{{[/\\]+}}include"
110 // CHECK-RV64-SAME: "-x" "c++" "{{.*}}baremetal.cpp"
111 // CHECK-RV64-NEXT: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
112 // CHECK-RV64-SAME: "-L[[RESOURCE_DIR:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}baremetal"
113 // CHECK-RV64-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib"
114 // CHECK-RV64-SAME: "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for"
115 // CHECK-RV64-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv64"
116 // CHECK-RV64-SAME: "-o" "{{.*}}.o"
117 
118 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
119 // RUN:     -target riscv64-unknown-elf \
120 // RUN:     --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \
121 // RUN:   | FileCheck --check-prefix=CHECK-RV64-DEFAULTCXX %s
122 // CHECK-RV64-DEFAULTCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
123 // CHECK-RV64-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
124 // CHECK-RV64-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib"
125 // CHECK-RV64-DEFAULTCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
126 // CHECK-RV64-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv64"
127 // CHECK-RV64-DEFAULTCXX-SAME: "-o" "{{.*}}.o"
128 
129 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
130 // RUN:     -target riscv64-unknown-elf \
131 // RUN:     --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \
132 // RUN:     -stdlib=libc++ \
133 // RUN:   | FileCheck --check-prefix=CHECK-RV64-LIBCXX %s
134 // CHECK-RV64-LIBCXX-NOT: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}{{[^v].*}}"
135 // CHECK-RV64-LIBCXX: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
136 // CHECK-RV64-LIBCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
137 // CHECK-RV64-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
138 // CHECK-RV64-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib"
139 // CHECK-RV64-LIBCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
140 // CHECK-RV64-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv64"
141 // CHECK-RV64-LIBCXX-SAME: "-o" "{{.*}}.o"
142 
143 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
144 // RUN:     -target riscv64-unknown-elf \
145 // RUN:     --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \
146 // RUN:     -stdlib=libstdc++ \
147 // RUN:   | FileCheck --check-prefix=CHECK-RV64-LIBSTDCXX %s
148 // CHECK-RV64-LIBSTDCXX-NOT: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
149 // CHECK-RV64-LIBSTDCXX: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}8.0.1"
150 // CHECK-RV64-LIBSTDCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
151 // CHECK-RV64-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
152 // CHECK-RV64-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib"
153 // CHECK-RV64-LIBSTDCXX-SAME: "-lstdc++" "-lsupc++" "-lunwind"
154 // CHECK-RV64-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv64"
155 // CHECK-RV64-LIBSTDCXX-SAME: "-o" "{{.*}}.o"
156 
157 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
158 // RUN:     -target riscv32-unknown-elf \
159 // RUN:     -L some/directory/user/asked/for \
160 // RUN:     --sysroot=%S/Inputs/basic_riscv32_tree/riscv32-unknown-elf \
161 // RUN:   | FileCheck --check-prefix=CHECK-RV32 %s
162 // CHECK-RV32: "[[PREFIX_DIR:.*]]{{[/\\]+}}{{[^/^\\]+}}{{[/\\]+}}clang{{.*}}" "-cc1" "-triple" "riscv32-unknown-unknown-elf"
163 // CHECK-RV32-SAME: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
164 // CHECK-RV32-SAME: "-isysroot" "[[SYSROOT:[^"]*]]"
165 // CHECK-RV32-SAME: "-internal-isystem" "[[SYSROOT]]{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
166 // CHECK-RV32-SAME: "-internal-isystem" "[[SYSROOT]]{{[/\\]+}}include"
167 // CHECK-RV32-SAME: "-x" "c++" "{{.*}}baremetal.cpp"
168 // CHECK-RV32-NEXT: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
169 // CHECK-RV32-SAME: "-L[[RESOURCE_DIR:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}baremetal"
170 // CHECK-RV32-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib"
171 // CHECK-RV32-SAME: "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for"
172 // CHECK-RV32-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv32"
173 // CHECK-RV32-SAME: "-o" "{{.*}}.o"
174 
175 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
176 // RUN:     -target riscv32-unknown-elf \
177 // RUN:     --sysroot=%S/Inputs/basic_riscv32_tree/riscv32-unknown-elf \
178 // RUN:   | FileCheck --check-prefix=CHECK-RV32-DEFAULTCXX %s
179 // CHECK-RV32-DEFAULTCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
180 // CHECK-RV32-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
181 // CHECK-RV32-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf{{[/\\]+}}lib"
182 // CHECK-RV32-DEFAULTCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
183 // CHECK-RV32-DEFAULTCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv32"
184 // CHECK-RV32-DEFAULTCXX-SAME: "-o" "{{.*}}.o"
185 
186 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
187 // RUN:     -target riscv32-unknown-elf \
188 // RUN:     --sysroot=%S/Inputs/basic_riscv32_tree/riscv32-unknown-elf \
189 // RUN:     -stdlib=libc++ \
190 // RUN:   | FileCheck --check-prefix=CHECK-RV32-LIBCXX %s
191 // CHECK-RV32-LIBCXX-NOT: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}{{[^v].*}}"
192 // CHECK-RV32-LIBCXX: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
193 // CHECK-RV32-LIBCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
194 // CHECK-RV32-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
195 // CHECK-RV32-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf{{[/\\]+}}lib"
196 // CHECK-RV32-LIBCXX-SAME: "-lc++" "-lc++abi" "-lunwind"
197 // CHECK-RV32-LIBCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv32"
198 // CHECK-RV32-LIBCXX-SAME: "-o" "{{.*}}.o"
199 
200 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
201 // RUN:     -target riscv32-unknown-elf \
202 // RUN:     --sysroot=%S/Inputs/basic_riscv32_tree/riscv32-unknown-elf \
203 // RUN:     -stdlib=libstdc++ \
204 // RUN:   | FileCheck --check-prefix=CHECK-RV32-LIBSTDCXX %s
205 // CHECK-RV32-LIBSTDCXX-NOT: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
206 // CHECK-RV32-LIBSTDCXX: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}8.0.1"
207 // CHECK-RV32-LIBSTDCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
208 // CHECK-RV32-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
209 // CHECK-RV32-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf{{[/\\]+}}lib"
210 // CHECK-RV32-LIBSTDCXX-SAME: "-lstdc++" "-lsupc++" "-lunwind"
211 // CHECK-RV32-LIBSTDCXX-SAME: "-lc" "-lm" "-lclang_rt.builtins-riscv32"
212 // CHECK-RV32-LIBSTDCXX-SAME: "-o" "{{.*}}.o"
213 
214 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
215 // RUN:     -target riscv64-unknown-elf \
216 // RUN:     -nostdlibinc -nobuiltininc \
217 // RUN:     --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \
218 // RUN:   | FileCheck --check-prefix=CHECK-RV64-LIBINC %s
219 
220 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
221 // RUN:     -target riscv64-unknown-elf \
222 // RUN:     -nostdinc \
223 // RUN:     --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \
224 // RUN:   | FileCheck --check-prefix=CHECK-RV64-LIBINC %s
225 // CHECK-RV64-LIBINC-NOT: "-internal-isystem"
226 
227 // RUN: %clangxx -no-canonical-prefixes %s -### -o %t.o 2>&1 \
228 // RUN:     -target riscv64-unknown-elf \
229 // RUN:     --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \
230 // RUN:     -nodefaultlibs \
231 // RUN:   | FileCheck --check-prefix=CHECK-RV64-NDL %s
232 // CHECK-RV64-NDL: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
233 // CHECK-RV64-NDL-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
234 // CHECK-RV64-NDL-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib"
235 // CHECK-RV64-NDL-SAME: "-o" "{{.*}}.o"
236