1 // Check frontend and linker invocations on the MTI MIPS toolchain.
3 // -EB -mhard-float -mabi=32
4 // RUN: %clang -### %s 2>&1 \
5 // RUN: --target=mips-mti-linux-gnu \
6 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
8 // RUN: -stdlib=libstdc++ -no-pie \
9 // RUN: -EB -mhard-float -mabi=32 \
10 // RUN: | FileCheck --check-prefix=EB-HARD-O32 %s
11 // EB-HARD-O32: "-internal-isystem"
12 // EB-HARD-O32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
13 // EB-HARD-O32: "-internal-isystem"
14 // EB-HARD-O32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mips-r2-hard/lib"
15 // EB-HARD-O32: "-internal-isystem"
16 // EB-HARD-O32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
17 // EB-HARD-O32: "-internal-externc-isystem"
18 // EB-HARD-O32: "[[TC]]/../../../../sysroot/mips-r2-hard/lib/../usr/include"
19 // EB-HARD-O32: "{{.*}}ld{{(.exe)?}}"
20 // EB-HARD-O32: "--sysroot=[[TC]]/../../../../sysroot/mips-r2-hard"
21 // EB-HARD-O32: "-dynamic-linker" "/lib/ld.so.1"
22 // EB-HARD-O32: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib{{/|\\\\}}crt1.o"
23 // EB-HARD-O32: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib{{/|\\\\}}crti.o"
24 // EB-HARD-O32: "[[TC]]/mips-r2-hard/lib{{/|\\\\}}crtbegin.o"
25 // EB-HARD-O32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips-r2-hard/lib"
26 // EB-HARD-O32: "-L[[TC]]/mips-r2-hard/lib"
27 // EB-HARD-O32: "-L[[TC]]/../../../../sysroot/mips-r2-hard/lib/../lib"
28 // EB-HARD-O32: "-L[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib"
29 // EB-HARD-O32: "[[TC]]/mips-r2-hard/lib{{/|\\\\}}crtend.o"
30 // EB-HARD-O32: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib{{/|\\\\}}crtn.o"
32 // -EB -mhard-float -mabi=n32
33 // RUN: %clang -### %s 2>&1 \
34 // RUN: --target=mips-mti-linux-gnu \
35 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
36 // RUN: --sysroot="" \
37 // RUN: -stdlib=libstdc++ -no-pie \
38 // RUN: -EB -mhard-float -mabi=n32 \
39 // RUN: | FileCheck --check-prefix=EB-HARD-N32 %s
40 // EB-HARD-N32: "-internal-isystem"
41 // EB-HARD-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
42 // EB-HARD-N32: "-internal-isystem"
43 // EB-HARD-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mips-r2-hard/lib32"
44 // EB-HARD-N32: "-internal-isystem"
45 // EB-HARD-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
46 // EB-HARD-N32: "-internal-externc-isystem"
47 // EB-HARD-N32: "[[TC]]/../../../../sysroot/mips-r2-hard/lib32/../usr/include"
48 // EB-HARD-N32: "{{.*}}ld{{(.exe)?}}"
49 // EB-HARD-N32: "--sysroot=[[TC]]/../../../../sysroot/mips-r2-hard"
50 // EB-HARD-N32: "-dynamic-linker" "/lib32/ld.so.1"
51 // EB-HARD-N32: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib32{{/|\\\\}}crt1.o"
52 // EB-HARD-N32: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib32{{/|\\\\}}crti.o"
53 // EB-HARD-N32: "[[TC]]/mips-r2-hard/lib32{{/|\\\\}}crtbegin.o"
54 // EB-HARD-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips-r2-hard/lib32"
55 // EB-HARD-N32: "-L[[TC]]/mips-r2-hard/lib32"
56 // EB-HARD-N32: "-L[[TC]]/../../../../sysroot/mips-r2-hard/lib/../lib32"
57 // EB-HARD-N32: "-L[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib32"
58 // EB-HARD-N32: "[[TC]]/mips-r2-hard/lib32{{/|\\\\}}crtend.o"
59 // EB-HARD-N32: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib32{{/|\\\\}}crtn.o"
61 // -EB -mhard-float -mabi=64
62 // RUN: %clang -### %s 2>&1 \
63 // RUN: --target=mips64-mti-linux-gnu \
64 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
65 // RUN: --sysroot="" \
66 // RUN: -stdlib=libstdc++ -no-pie \
67 // RUN: -EB -mhard-float -mabi=64 \
68 // RUN: | FileCheck --check-prefix=EB-HARD-N64 %s
69 // EB-HARD-N64: "-internal-isystem"
70 // EB-HARD-N64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
71 // EB-HARD-N64: "-internal-isystem"
72 // EB-HARD-N64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mips-r2-hard/lib64"
73 // EB-HARD-N64: "-internal-isystem"
74 // EB-HARD-N64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
75 // EB-HARD-N64: "-internal-externc-isystem"
76 // EB-HARD-N64: "[[TC]]/../../../../sysroot/mips-r2-hard/lib64/../usr/include"
77 // EB-HARD-N64: "{{.*}}ld{{(.exe)?}}"
78 // EB-HARD-N64: "--sysroot=[[TC]]/../../../../sysroot/mips-r2-hard"
79 // EB-HARD-N64: "-dynamic-linker" "/lib64/ld.so.1"
80 // EB-HARD-N64: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib64{{/|\\\\}}crt1.o"
81 // EB-HARD-N64: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib64{{/|\\\\}}crti.o"
82 // EB-HARD-N64: "[[TC]]/mips-r2-hard/lib64{{/|\\\\}}crtbegin.o"
83 // EB-HARD-N64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips-r2-hard/lib64"
84 // EB-HARD-N64: "-L[[TC]]/mips-r2-hard/lib64"
85 // EB-HARD-N64: "-L[[TC]]/../../../../sysroot/mips-r2-hard/lib/../lib64"
86 // EB-HARD-N64: "-L[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib64"
87 // EB-HARD-N64: "[[TC]]/mips-r2-hard/lib64{{/|\\\\}}crtend.o"
88 // EB-HARD-N64: "[[TC]]/../../../../sysroot/mips-r2-hard/usr/lib/../lib64{{/|\\\\}}crtn.o"
90 // -EL -mhard-float -mabi=32
91 // RUN: %clang -### %s 2>&1 \
92 // RUN: --target=mips-mti-linux-gnu \
93 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
94 // RUN: --sysroot="" \
95 // RUN: -stdlib=libstdc++ -no-pie \
96 // RUN: -EL -mhard-float -mabi=32 \
97 // RUN: | FileCheck --check-prefix=EL-HARD-O32 %s
98 // EL-HARD-O32: "-internal-isystem"
99 // EL-HARD-O32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
100 // EL-HARD-O32: "-internal-isystem"
101 // EL-HARD-O32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mipsel-r2-hard/lib"
102 // EL-HARD-O32: "-internal-isystem"
103 // EL-HARD-O32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
104 // EL-HARD-O32: "-internal-externc-isystem"
105 // EL-HARD-O32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/lib/../usr/include"
106 // EL-HARD-O32: "{{.*}}ld{{(.exe)?}}"
107 // EL-HARD-O32: "--sysroot=[[TC]]/../../../../sysroot/mipsel-r2-hard"
108 // EL-HARD-O32: "-dynamic-linker" "/lib/ld.so.1"
109 // EL-HARD-O32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib{{/|\\\\}}crt1.o"
110 // EL-HARD-O32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib{{/|\\\\}}crti.o"
111 // EL-HARD-O32: "[[TC]]/mipsel-r2-hard/lib{{/|\\\\}}crtbegin.o"
112 // EL-HARD-O32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mipsel-r2-hard/lib"
113 // EL-HARD-O32: "-L[[TC]]/mipsel-r2-hard/lib"
114 // EL-HARD-O32: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard/lib/../lib"
115 // EL-HARD-O32: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib"
116 // EL-HARD-O32: "[[TC]]/mipsel-r2-hard/lib{{/|\\\\}}crtend.o"
117 // EL-HARD-O32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib{{/|\\\\}}crtn.o"
119 // -EL -mhard-float -mabi=n32
120 // RUN: %clang -### %s 2>&1 \
121 // RUN: --target=mips-mti-linux-gnu \
122 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
123 // RUN: --sysroot="" \
124 // RUN: -stdlib=libstdc++ -no-pie \
125 // RUN: -EL -mhard-float -mabi=n32 \
126 // RUN: | FileCheck --check-prefix=EL-HARD-N32 %s
127 // EL-HARD-N32: "-internal-isystem"
128 // EL-HARD-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
129 // EL-HARD-N32: "-internal-isystem"
130 // EL-HARD-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mipsel-r2-hard/lib32"
131 // EL-HARD-N32: "-internal-isystem"
132 // EL-HARD-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
133 // EL-HARD-N32: "-internal-externc-isystem"
134 // EL-HARD-N32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/lib32/../usr/include"
135 // EL-HARD-N32: "{{.*}}ld{{(.exe)?}}"
136 // EL-HARD-N32: "--sysroot=[[TC]]/../../../../sysroot/mipsel-r2-hard"
137 // EL-HARD-N32: "-dynamic-linker" "/lib32/ld.so.1"
138 // EL-HARD-N32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib32{{/|\\\\}}crt1.o"
139 // EL-HARD-N32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib32{{/|\\\\}}crti.o"
140 // EL-HARD-N32: "[[TC]]/mipsel-r2-hard/lib32{{/|\\\\}}crtbegin.o"
141 // EL-HARD-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mipsel-r2-hard/lib32"
142 // EL-HARD-N32: "-L[[TC]]/mipsel-r2-hard/lib32"
143 // EL-HARD-N32: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard/lib/../lib32"
144 // EL-HARD-N32: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib32"
145 // EL-HARD-N32: "[[TC]]/mipsel-r2-hard/lib32{{/|\\\\}}crtend.o"
146 // EL-HARD-N32: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib32{{/|\\\\}}crtn.o"
148 // -EL -mhard-float -mabi=64
149 // RUN: %clang -### %s 2>&1 \
150 // RUN: --target=mips64-mti-linux-gnu \
151 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
152 // RUN: --sysroot="" \
153 // RUN: -stdlib=libstdc++ -no-pie \
154 // RUN: -EL -mhard-float -mabi=64 \
155 // RUN: | FileCheck --check-prefix=EL-HARD-N64 %s
156 // EL-HARD-N64: "-internal-isystem"
157 // EL-HARD-N64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
158 // EL-HARD-N64: "-internal-isystem"
159 // EL-HARD-N64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mipsel-r2-hard/lib64"
160 // EL-HARD-N64: "-internal-isystem"
161 // EL-HARD-N64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
162 // EL-HARD-N64: "-internal-externc-isystem"
163 // EL-HARD-N64: "[[TC]]/../../../../sysroot/mipsel-r2-hard/lib64/../usr/include"
164 // EL-HARD-N64: "{{.*}}ld{{(.exe)?}}"
165 // EL-HARD-N64: "--sysroot=[[TC]]/../../../../sysroot/mipsel-r2-hard"
166 // EL-HARD-N64: "-dynamic-linker" "/lib64/ld.so.1"
167 // EL-HARD-N64: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib64{{/|\\\\}}crt1.o"
168 // EL-HARD-N64: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib64{{/|\\\\}}crti.o"
169 // EL-HARD-N64: "[[TC]]/mipsel-r2-hard/lib64{{/|\\\\}}crtbegin.o"
170 // EL-HARD-N64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mipsel-r2-hard/lib64"
171 // EL-HARD-N64: "-L[[TC]]/mipsel-r2-hard/lib64"
172 // EL-HARD-N64: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard/lib/../lib64"
173 // EL-HARD-N64: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib64"
174 // EL-HARD-N64: "[[TC]]/mipsel-r2-hard/lib64{{/|\\\\}}crtend.o"
175 // EL-HARD-N64: "[[TC]]/../../../../sysroot/mipsel-r2-hard/usr/lib/../lib64{{/|\\\\}}crtn.o"
178 // RUN: %clang -### %s 2>&1 \
179 // RUN: --target=mips-mti-linux-gnu \
180 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
181 // RUN: --sysroot="" \
182 // RUN: -stdlib=libstdc++ -no-pie \
183 // RUN: -EB -msoft-float \
184 // RUN: | FileCheck --check-prefix=EB-SOFT %s
185 // EB-SOFT: "-internal-isystem"
186 // EB-SOFT: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
187 // EB-SOFT: "-internal-isystem"
188 // EB-SOFT: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mips-r2-soft/lib"
189 // EB-SOFT: "-internal-isystem"
190 // EB-SOFT: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
191 // EB-SOFT: "-internal-externc-isystem"
192 // EB-SOFT: "[[TC]]/../../../../sysroot/mips-r2-soft/lib/../usr/include"
193 // EB-SOFT: "{{.*}}ld{{(.exe)?}}"
194 // EB-SOFT: "--sysroot=[[TC]]/../../../../sysroot/mips-r2-soft"
195 // EB-SOFT: "-dynamic-linker" "/lib/ld.so.1"
196 // EB-SOFT: "[[TC]]/../../../../sysroot/mips-r2-soft/usr/lib/../lib{{/|\\\\}}crt1.o"
197 // EB-SOFT: "[[TC]]/../../../../sysroot/mips-r2-soft/usr/lib/../lib{{/|\\\\}}crti.o"
198 // EB-SOFT: "[[TC]]/mips-r2-soft/lib{{/|\\\\}}crtbegin.o"
199 // EB-SOFT: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips-r2-soft/lib"
200 // EB-SOFT: "-L[[TC]]/mips-r2-soft/lib"
201 // EB-SOFT: "-L[[TC]]/../../../../sysroot/mips-r2-soft/lib/../lib"
202 // EB-SOFT: "-L[[TC]]/../../../../sysroot/mips-r2-soft/usr/lib/../lib"
203 // EB-SOFT: "[[TC]]/mips-r2-soft/lib{{/|\\\\}}crtend.o"
204 // EB-SOFT: "[[TC]]/../../../../sysroot/mips-r2-soft/usr/lib/../lib{{/|\\\\}}crtn.o"
207 // RUN: %clang -### %s 2>&1 \
208 // RUN: --target=mips-mti-linux-gnu \
209 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
210 // RUN: --sysroot="" \
211 // RUN: -stdlib=libstdc++ -no-pie \
212 // RUN: -EL -msoft-float \
213 // RUN: | FileCheck --check-prefix=EL-SOFT %s
214 // EL-SOFT: "-internal-isystem"
215 // EL-SOFT: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
216 // EL-SOFT: "-internal-isystem"
217 // EL-SOFT: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mipsel-r2-soft/lib"
218 // EL-SOFT: "-internal-isystem"
219 // EL-SOFT: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
220 // EL-SOFT: "-internal-externc-isystem"
221 // EL-SOFT: "[[TC]]/../../../../sysroot/mipsel-r2-soft/lib/../usr/include"
222 // EL-SOFT: "{{.*}}ld{{(.exe)?}}"
223 // EL-SOFT: "--sysroot=[[TC]]/../../../../sysroot/mipsel-r2-soft"
224 // EL-SOFT: "-dynamic-linker" "/lib/ld.so.1"
225 // EL-SOFT: "[[TC]]/../../../../sysroot/mipsel-r2-soft/usr/lib/../lib{{/|\\\\}}crt1.o"
226 // EL-SOFT: "[[TC]]/../../../../sysroot/mipsel-r2-soft/usr/lib/../lib{{/|\\\\}}crti.o"
227 // EL-SOFT: "[[TC]]/mipsel-r2-soft/lib{{/|\\\\}}crtbegin.o"
228 // EL-SOFT: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mipsel-r2-soft/lib"
229 // EL-SOFT: "-L[[TC]]/mipsel-r2-soft/lib"
230 // EL-SOFT: "-L[[TC]]/../../../../sysroot/mipsel-r2-soft/lib/../lib"
231 // EL-SOFT: "-L[[TC]]/../../../../sysroot/mipsel-r2-soft/usr/lib/../lib"
232 // EL-SOFT: "[[TC]]/mipsel-r2-soft/lib{{/|\\\\}}crtend.o"
233 // EL-SOFT: "[[TC]]/../../../../sysroot/mipsel-r2-soft/usr/lib/../lib{{/|\\\\}}crtn.o"
235 // -EB -mhard-float -muclibc
236 // RUN: %clang -### %s 2>&1 \
237 // RUN: --target=mips-mti-linux-gnu \
238 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
239 // RUN: --sysroot="" \
240 // RUN: -stdlib=libstdc++ -no-pie \
241 // RUN: -EB -mhard-float -muclibc \
242 // RUN: | FileCheck --check-prefix=EB-HARD-UCLIBC %s
243 // EB-HARD-UCLIBC: "-internal-isystem"
244 // EB-HARD-UCLIBC: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
245 // EB-HARD-UCLIBC: "-internal-isystem"
246 // EB-HARD-UCLIBC: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mips-r2-hard-uclibc/lib"
247 // EB-HARD-UCLIBC: "-internal-isystem"
248 // EB-HARD-UCLIBC: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
249 // EB-HARD-UCLIBC: "-internal-externc-isystem"
250 // EB-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mips-r2-hard-uclibc/lib/../usr/include"
251 // EB-HARD-UCLIBC: "{{.*}}ld{{(.exe)?}}"
252 // EB-HARD-UCLIBC: "--sysroot=[[TC]]/../../../../sysroot/mips-r2-hard-uclibc"
253 // EB-HARD-UCLIBC: "-dynamic-linker" "/lib/ld-uClibc.so.0"
254 // EB-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mips-r2-hard-uclibc/usr/lib/../lib{{/|\\\\}}crt1.o"
255 // EB-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mips-r2-hard-uclibc/usr/lib/../lib{{/|\\\\}}crti.o"
256 // EB-HARD-UCLIBC: "[[TC]]/mips-r2-hard-uclibc/lib{{/|\\\\}}crtbegin.o"
257 // EB-HARD-UCLIBC: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips-r2-hard-uclibc/lib"
258 // EB-HARD-UCLIBC: "-L[[TC]]/mips-r2-hard-uclibc/lib"
259 // EB-HARD-UCLIBC: "-L[[TC]]/../../../../sysroot/mips-r2-hard-uclibc/lib/../lib"
260 // EB-HARD-UCLIBC: "-L[[TC]]/../../../../sysroot/mips-r2-hard-uclibc/usr/lib/../lib"
261 // EB-HARD-UCLIBC: "[[TC]]/mips-r2-hard-uclibc/lib{{/|\\\\}}crtend.o"
262 // EB-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mips-r2-hard-uclibc/usr/lib/../lib{{/|\\\\}}crtn.o"
264 // -EL -mhard-float -muclibc
265 // RUN: %clang -### %s 2>&1 \
266 // RUN: --target=mips-mti-linux-gnu \
267 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
268 // RUN: --sysroot="" \
269 // RUN: -stdlib=libstdc++ -no-pie \
270 // RUN: -EL -mhard-float -muclibc \
271 // RUN: | FileCheck --check-prefix=EL-HARD-UCLIBC %s
272 // EL-HARD-UCLIBC: "-internal-isystem"
273 // EL-HARD-UCLIBC: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
274 // EL-HARD-UCLIBC: "-internal-isystem"
275 // EL-HARD-UCLIBC: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mipsel-r2-hard-uclibc/lib"
276 // EL-HARD-UCLIBC: "-internal-isystem"
277 // EL-HARD-UCLIBC: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
278 // EL-HARD-UCLIBC: "-internal-externc-isystem"
279 // EL-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mipsel-r2-hard-uclibc/lib/../usr/include"
280 // EL-HARD-UCLIBC: "{{.*}}ld{{(.exe)?}}"
281 // EL-HARD-UCLIBC: "--sysroot=[[TC]]/../../../../sysroot/mipsel-r2-hard-uclibc"
282 // EL-HARD-UCLIBC: "-dynamic-linker" "/lib/ld-uClibc.so.0"
283 // EL-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mipsel-r2-hard-uclibc/usr/lib/../lib{{/|\\\\}}crt1.o"
284 // EL-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mipsel-r2-hard-uclibc/usr/lib/../lib{{/|\\\\}}crti.o"
285 // EL-HARD-UCLIBC: "[[TC]]/mipsel-r2-hard-uclibc/lib{{/|\\\\}}crtbegin.o"
286 // EL-HARD-UCLIBC: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mipsel-r2-hard-uclibc/lib"
287 // EL-HARD-UCLIBC: "-L[[TC]]/mipsel-r2-hard-uclibc/lib"
288 // EL-HARD-UCLIBC: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard-uclibc/lib/../lib"
289 // EL-HARD-UCLIBC: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard-uclibc/usr/lib/../lib"
290 // EL-HARD-UCLIBC: "[[TC]]/mipsel-r2-hard-uclibc/lib{{/|\\\\}}crtend.o"
291 // EL-HARD-UCLIBC: "[[TC]]/../../../../sysroot/mipsel-r2-hard-uclibc/usr/lib/../lib{{/|\\\\}}crtn.o"
293 // -EB -mhard-float -mnan=2008
294 // RUN: %clang -### %s 2>&1 \
295 // RUN: --target=mips-mti-linux-gnu \
296 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
297 // RUN: --sysroot="" \
298 // RUN: -stdlib=libstdc++ -no-pie \
299 // RUN: -EB -mhard-float -mnan=2008 \
300 // RUN: | FileCheck --check-prefix=EB-HARD-NAN2008 %s
301 // EB-HARD-NAN2008: "-internal-isystem"
302 // EB-HARD-NAN2008: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
303 // EB-HARD-NAN2008: "-internal-isystem"
304 // EB-HARD-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mips-r2-hard-nan2008/lib"
305 // EB-HARD-NAN2008: "-internal-isystem"
306 // EB-HARD-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
307 // EB-HARD-NAN2008: "-internal-externc-isystem"
308 // EB-HARD-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008/lib/../usr/include"
309 // EB-HARD-NAN2008: "{{.*}}ld{{(.exe)?}}"
310 // EB-HARD-NAN2008: "--sysroot=[[TC]]/../../../../sysroot/mips-r2-hard-nan2008"
311 // EB-HARD-NAN2008: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
312 // EB-HARD-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
313 // EB-HARD-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
314 // EB-HARD-NAN2008: "[[TC]]/mips-r2-hard-nan2008/lib{{/|\\\\}}crtbegin.o"
315 // EB-HARD-NAN2008: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips-r2-hard-nan2008/lib"
316 // EB-HARD-NAN2008: "-L[[TC]]/mips-r2-hard-nan2008/lib"
317 // EB-HARD-NAN2008: "-L[[TC]]/../../../../sysroot/mips-r2-hard-nan2008/lib/../lib"
318 // EB-HARD-NAN2008: "-L[[TC]]/../../../../sysroot/mips-r2-hard-nan2008/usr/lib/../lib"
319 // EB-HARD-NAN2008: "[[TC]]/mips-r2-hard-nan2008/lib{{/|\\\\}}crtend.o"
320 // EB-HARD-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
322 // -EL -mhard-float -mnan=2008
323 // RUN: %clang -### %s 2>&1 \
324 // RUN: --target=mips-mti-linux-gnu \
325 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
326 // RUN: --sysroot="" \
327 // RUN: -stdlib=libstdc++ -no-pie \
328 // RUN: -EL -mhard-float -mnan=2008 \
329 // RUN: | FileCheck --check-prefix=EL-HARD-NAN2008 %s
330 // EL-HARD-NAN2008: "-internal-isystem"
331 // EL-HARD-NAN2008: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
332 // EL-HARD-NAN2008: "-internal-isystem"
333 // EL-HARD-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mipsel-r2-hard-nan2008/lib"
334 // EL-HARD-NAN2008: "-internal-isystem"
335 // EL-HARD-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
336 // EL-HARD-NAN2008: "-internal-externc-isystem"
337 // EL-HARD-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008/lib/../usr/include"
338 // EL-HARD-NAN2008: "{{.*}}ld{{(.exe)?}}"
339 // EL-HARD-NAN2008: "--sysroot=[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008"
340 // EL-HARD-NAN2008: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
341 // EL-HARD-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
342 // EL-HARD-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
343 // EL-HARD-NAN2008: "[[TC]]/mipsel-r2-hard-nan2008/lib{{/|\\\\}}crtbegin.o"
344 // EL-HARD-NAN2008: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mipsel-r2-hard-nan2008/lib"
345 // EL-HARD-NAN2008: "-L[[TC]]/mipsel-r2-hard-nan2008/lib"
346 // EL-HARD-NAN2008: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008/lib/../lib"
347 // EL-HARD-NAN2008: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008/usr/lib/../lib"
348 // EL-HARD-NAN2008: "[[TC]]/mipsel-r2-hard-nan2008/lib{{/|\\\\}}crtend.o"
349 // EL-HARD-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
351 // -EB -mhard-float -muclibc -mnan=2008
352 // RUN: %clang -### %s 2>&1 \
353 // RUN: --target=mips-mti-linux-gnu \
354 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
355 // RUN: --sysroot="" \
356 // RUN: -stdlib=libstdc++ -no-pie \
357 // RUN: -EB -mhard-float -muclibc -mnan=2008 \
358 // RUN: | FileCheck --check-prefix=EB-HARD-UCLIBC-NAN2008 %s
359 // EB-HARD-UCLIBC-NAN2008: "-internal-isystem"
360 // EB-HARD-UCLIBC-NAN2008: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
361 // EB-HARD-UCLIBC-NAN2008: "-internal-isystem"
362 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mips-r2-hard-nan2008-uclibc/lib"
363 // EB-HARD-UCLIBC-NAN2008: "-internal-isystem"
364 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
365 // EB-HARD-UCLIBC-NAN2008: "-internal-externc-isystem"
366 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008-uclibc/lib/../usr/include"
367 // EB-HARD-UCLIBC-NAN2008: "{{.*}}ld{{(.exe)?}}"
368 // EB-HARD-UCLIBC-NAN2008: "--sysroot=[[TC]]/../../../../sysroot/mips-r2-hard-nan2008-uclibc"
369 // EB-HARD-UCLIBC-NAN2008: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0"
370 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008-uclibc/usr/lib/../lib{{/|\\\\}}crt1.o"
371 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008-uclibc/usr/lib/../lib{{/|\\\\}}crti.o"
372 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/mips-r2-hard-nan2008-uclibc/lib{{/|\\\\}}crtbegin.o"
373 // EB-HARD-UCLIBC-NAN2008: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips-r2-hard-nan2008-uclibc/lib"
374 // EB-HARD-UCLIBC-NAN2008: "-L[[TC]]/mips-r2-hard-nan2008-uclibc/lib"
375 // EB-HARD-UCLIBC-NAN2008: "-L[[TC]]/../../../../sysroot/mips-r2-hard-nan2008-uclibc/lib/../lib"
376 // EB-HARD-UCLIBC-NAN2008: "-L[[TC]]/../../../../sysroot/mips-r2-hard-nan2008-uclibc/usr/lib/../lib"
377 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/mips-r2-hard-nan2008-uclibc/lib{{/|\\\\}}crtend.o"
378 // EB-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mips-r2-hard-nan2008-uclibc/usr/lib/../lib{{/|\\\\}}crtn.o"
380 // -EL -mhard-float -muclibc -mnan=2008
381 // RUN: %clang -### %s 2>&1 \
382 // RUN: --target=mips-mti-linux-gnu \
383 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
384 // RUN: --sysroot="" \
385 // RUN: -stdlib=libstdc++ -no-pie \
386 // RUN: -EL -mhard-float -muclibc -mnan=2008 \
387 // RUN: | FileCheck --check-prefix=EL-HARD-UCLIBC-NAN2008 %s
388 // EL-HARD-UCLIBC-NAN2008: "-internal-isystem"
389 // EL-HARD-UCLIBC-NAN2008: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
390 // EL-HARD-UCLIBC-NAN2008: "-internal-isystem"
391 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/mipsel-r2-hard-nan2008-uclibc/lib"
392 // EL-HARD-UCLIBC-NAN2008: "-internal-isystem"
393 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
394 // EL-HARD-UCLIBC-NAN2008: "-internal-externc-isystem"
395 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008-uclibc/lib/../usr/include"
396 // EL-HARD-UCLIBC-NAN2008: "{{.*}}ld{{(.exe)?}}"
397 // EL-HARD-UCLIBC-NAN2008: "--sysroot=[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008-uclibc"
398 // EL-HARD-UCLIBC-NAN2008: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0"
399 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008-uclibc/usr/lib/../lib{{/|\\\\}}crt1.o"
400 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008-uclibc/usr/lib/../lib{{/|\\\\}}crti.o"
401 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/mipsel-r2-hard-nan2008-uclibc/lib{{/|\\\\}}crtbegin.o"
402 // EL-HARD-UCLIBC-NAN2008: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mipsel-r2-hard-nan2008-uclibc/lib"
403 // EL-HARD-UCLIBC-NAN2008: "-L[[TC]]/mipsel-r2-hard-nan2008-uclibc/lib"
404 // EL-HARD-UCLIBC-NAN2008: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008-uclibc/lib/../lib"
405 // EL-HARD-UCLIBC-NAN2008: "-L[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008-uclibc/usr/lib/../lib"
406 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/mipsel-r2-hard-nan2008-uclibc/lib{{/|\\\\}}crtend.o"
407 // EL-HARD-UCLIBC-NAN2008: "[[TC]]/../../../../sysroot/mipsel-r2-hard-nan2008-uclibc/usr/lib/../lib{{/|\\\\}}crtn.o"
409 // -EL -msoft-float -mmicromips
410 // RUN: %clang -### %s 2>&1 \
411 // RUN: --target=mips-mti-linux-gnu \
412 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
413 // RUN: --sysroot="" \
414 // RUN: -stdlib=libstdc++ -no-pie \
415 // RUN: -EL -msoft-float -mmicromips \
416 // RUN: | FileCheck --check-prefix=EL-SOFT-MICRO %s
417 // EL-SOFT-MICRO: "-internal-isystem"
418 // EL-SOFT-MICRO: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
419 // EL-SOFT-MICRO: "-internal-isystem"
420 // EL-SOFT-MICRO: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/micromipsel-r2-soft/lib"
421 // EL-SOFT-MICRO: "-internal-isystem"
422 // EL-SOFT-MICRO: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
423 // EL-SOFT-MICRO: "-internal-externc-isystem"
424 // EL-SOFT-MICRO: "[[TC]]/../../../../sysroot/micromipsel-r2-soft/lib/../usr/include"
425 // EL-SOFT-MICRO: "{{.*}}ld{{(.exe)?}}"
426 // EL-SOFT-MICRO: "--sysroot=[[TC]]/../../../../sysroot/micromipsel-r2-soft"
427 // EL-SOFT-MICRO: "-dynamic-linker" "/lib/ld.so.1"
428 // EL-SOFT-MICRO: "[[TC]]/../../../../sysroot/micromipsel-r2-soft/usr/lib/../lib{{/|\\\\}}crt1.o"
429 // EL-SOFT-MICRO: "[[TC]]/../../../../sysroot/micromipsel-r2-soft/usr/lib/../lib{{/|\\\\}}crti.o"
430 // EL-SOFT-MICRO: "[[TC]]/micromipsel-r2-soft/lib{{/|\\\\}}crtbegin.o"
431 // EL-SOFT-MICRO: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/micromipsel-r2-soft/lib"
432 // EL-SOFT-MICRO: "-L[[TC]]/micromipsel-r2-soft/lib"
433 // EL-SOFT-MICRO: "-L[[TC]]/../../../../sysroot/micromipsel-r2-soft/lib/../lib"
434 // EL-SOFT-MICRO: "-L[[TC]]/../../../../sysroot/micromipsel-r2-soft/usr/lib/../lib"
435 // EL-SOFT-MICRO: "[[TC]]/micromipsel-r2-soft/lib{{/|\\\\}}crtend.o"
436 // EL-SOFT-MICRO: "[[TC]]/../../../../sysroot/micromipsel-r2-soft/usr/lib/../lib{{/|\\\\}}crtn.o"
438 // -EL -mhard-float -mmicromips -mnan=2008
439 // RUN: %clang -### %s 2>&1 \
440 // RUN: --target=mips-mti-linux-gnu \
441 // RUN: --gcc-toolchain=%S/Inputs/mips_mti_tree \
442 // RUN: --sysroot="" \
443 // RUN: -stdlib=libstdc++ -no-pie \
444 // RUN: -EL -mhard-float -mmicromips -mnan=2008 \
445 // RUN: | FileCheck --check-prefix=EL-SOFT-MICRO-NAN2008 %s
446 // EL-SOFT-MICRO-NAN2008: "-internal-isystem"
447 // EL-SOFT-MICRO-NAN2008: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.2]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2"
448 // EL-SOFT-MICRO-NAN2008: "-internal-isystem"
449 // EL-SOFT-MICRO-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/mips-mti-linux-gnu/micromipsel-r2-hard-nan2008/lib"
450 // EL-SOFT-MICRO-NAN2008: "-internal-isystem"
451 // EL-SOFT-MICRO-NAN2008: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.2/backward"
452 // EL-SOFT-MICRO-NAN2008: "-internal-externc-isystem"
453 // EL-SOFT-MICRO-NAN2008: "[[TC]]/../../../../sysroot/micromipsel-r2-hard-nan2008/lib/../usr/include"
454 // EL-SOFT-MICRO-NAN2008: "{{.*}}ld{{(.exe)?}}"
455 // EL-SOFT-MICRO-NAN2008: "--sysroot=[[TC]]/../../../../sysroot/micromipsel-r2-hard-nan2008"
456 // EL-SOFT-MICRO-NAN2008: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
457 // EL-SOFT-MICRO-NAN2008: "[[TC]]/../../../../sysroot/micromipsel-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
458 // EL-SOFT-MICRO-NAN2008: "[[TC]]/../../../../sysroot/micromipsel-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
459 // EL-SOFT-MICRO-NAN2008: "[[TC]]/micromipsel-r2-hard-nan2008/lib{{/|\\\\}}crtbegin.o"
460 // EL-SOFT-MICRO-NAN2008: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/micromipsel-r2-hard-nan2008/lib"
461 // EL-SOFT-MICRO-NAN2008: "-L[[TC]]/micromipsel-r2-hard-nan2008/lib"
462 // EL-SOFT-MICRO-NAN2008: "-L[[TC]]/../../../../sysroot/micromipsel-r2-hard-nan2008/lib/../lib"
463 // EL-SOFT-MICRO-NAN2008: "-L[[TC]]/../../../../sysroot/micromipsel-r2-hard-nan2008/usr/lib/../lib"
464 // EL-SOFT-MICRO-NAN2008: "[[TC]]/micromipsel-r2-hard-nan2008/lib{{/|\\\\}}crtend.o"
465 // EL-SOFT-MICRO-NAN2008: "[[TC]]/../../../../sysroot/micromipsel-r2-hard-nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"