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