1 // Check frontend and linker invocations on FSF MIPS toolchain.
2 //
3 // = Big-endian, mips32, hard float
4 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
5 // RUN:     --target=mips-linux-gnu -mips32 -mhard-float \
6 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_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-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
10 // CHECK-BE-HF-32: "-internal-isystem"
11 // CHECK-BE-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32"
12 // CHECK-BE-HF-32: "-internal-isystem"
13 // CHECK-BE-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/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]]/../../../../sysroot/usr/include"
18 // CHECK-BE-HF-32: "{{.*}}ld{{(.exe)?}}"
19 // CHECK-BE-HF-32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips32"
20 // CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crt1.o"
21 // CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crti.o"
22 // CHECK-BE-HF-32: "[[TC]]/mips32{{/|\\\\}}crtbegin.o"
23 // CHECK-BE-HF-32: "-L[[SR]]/mips32"
24 // CHECK-BE-HF-32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32"
25 // CHECK-BE-HF-32: "-L[[SR]]/../../../../sysroot/mips32/usr/lib/../lib"
26 // CHECK-BE-HF-32: "[[TC]]/mips32{{/|\\\\}}crtend.o"
27 // CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crtn.o"
28 //
29 // = Big-endian, mips32, soft float
30 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
31 // RUN:     --target=mips-linux-gnu -mips32 -msoft-float \
32 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
33 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-32 %s
34 // CHECK-BE-SF-32: "-internal-isystem"
35 // CHECK-BE-SF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
36 // CHECK-BE-SF-32: "-internal-isystem"
37 // CHECK-BE-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/sof"
38 // CHECK-BE-SF-32: "-internal-isystem"
39 // CHECK-BE-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
40 // CHECK-BE-SF-32: "-internal-externc-isystem"
41 // CHECK-BE-SF-32: "[[TC]]/include"
42 // CHECK-BE-SF-32: "-internal-externc-isystem"
43 // CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/usr/include"
44 // CHECK-BE-SF-32: "{{.*}}ld{{(.exe)?}}"
45 // CHECK-BE-SF-32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips32/sof"
46 // CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
47 // CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib{{/|\\\\}}crti.o"
48 // CHECK-BE-SF-32: "[[TC]]/mips32/sof{{/|\\\\}}crtbegin.o"
49 // CHECK-BE-SF-32: "-L[[SR]]/mips32/sof"
50 // CHECK-BE-SF-32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/sof"
51 // CHECK-BE-SF-32: "-L[[SR]]/../../../../sysroot/mips32/sof/usr/lib/../lib"
52 // CHECK-BE-SF-32: "[[TC]]/mips32/sof{{/|\\\\}}crtend.o"
53 // CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
54 //
55 // = Big-endian, mips16 / mips32, hard float
56 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
57 // RUN:     --target=mips-linux-gnu -mips32 -mips16 -mhard-float \
58 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
59 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-16 %s
60 // CHECK-BE-HF-16: "-internal-isystem"
61 // CHECK-BE-HF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
62 // CHECK-BE-HF-16: "-internal-isystem"
63 // CHECK-BE-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16"
64 // CHECK-BE-HF-16: "-internal-isystem"
65 // CHECK-BE-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
66 // CHECK-BE-HF-16: "-internal-externc-isystem"
67 // CHECK-BE-HF-16: "[[TC]]/include"
68 // CHECK-BE-HF-16: "-internal-externc-isystem"
69 // CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/usr/include"
70 // CHECK-BE-HF-16: "{{.*}}ld{{(.exe)?}}"
71 // CHECK-BE-HF-16: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips32/mips16"
72 // CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
73 // CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
74 // CHECK-BE-HF-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtbegin.o"
75 // CHECK-BE-HF-16: "-L[[SR]]/mips32/mips16"
76 // CHECK-BE-HF-16: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16"
77 // CHECK-BE-HF-16: "-L[[SR]]/../../../../sysroot/mips32/mips16/usr/lib/../lib"
78 // CHECK-BE-HF-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtend.o"
79 // CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
80 //
81 // = Big-endian, mips16 / mips32, soft float
82 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
83 // RUN:     --target=mips-linux-gnu -mips32 -mips16 -msoft-float \
84 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
85 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-16 %s
86 // CHECK-BE-SF-16: "-internal-isystem"
87 // CHECK-BE-SF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
88 // CHECK-BE-SF-16: "-internal-isystem"
89 // CHECK-BE-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/sof"
90 // CHECK-BE-SF-16: "-internal-isystem"
91 // CHECK-BE-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
92 // CHECK-BE-SF-16: "-internal-externc-isystem"
93 // CHECK-BE-SF-16: "[[TC]]/include"
94 // CHECK-BE-SF-16: "-internal-externc-isystem"
95 // CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/usr/include"
96 // CHECK-BE-SF-16: "{{.*}}ld{{(.exe)?}}"
97 // CHECK-BE-SF-16: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips32/mips16/sof"
98 // CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
99 // CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib{{/|\\\\}}crti.o"
100 // CHECK-BE-SF-16: "[[TC]]/mips32/mips16/sof{{/|\\\\}}crtbegin.o"
101 // CHECK-BE-SF-16: "-L[[SR]]/mips32/mips16/sof"
102 // CHECK-BE-SF-16: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/sof"
103 // CHECK-BE-SF-16: "-L[[SR]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib"
104 // CHECK-BE-SF-16: "[[TC]]/mips32/mips16/sof{{/|\\\\}}crtend.o"
105 // CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
106 //
107 // = Big-endian, mips32 / mips16, nan2008
108 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
109 // RUN:     --target=mips-linux-gnu -mips32 -mips16 -mnan=2008 \
110 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
111 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-16 %s
112 // CHECK-BE-NAN-16: "-internal-isystem"
113 // CHECK-BE-NAN-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
114 // CHECK-BE-NAN-16: "-internal-isystem"
115 // CHECK-BE-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/nan2008"
116 // CHECK-BE-NAN-16: "-internal-isystem"
117 // CHECK-BE-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
118 // CHECK-BE-NAN-16: "-internal-externc-isystem"
119 // CHECK-BE-NAN-16: "[[TC]]/include"
120 // CHECK-BE-NAN-16: "-internal-externc-isystem"
121 // CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/usr/include"
122 // CHECK-BE-NAN-16: "{{.*}}ld{{(.exe)?}}"
123 // CHECK-BE-NAN-16: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips32/mips16/nan2008"
124 // CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
125 // CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
126 // CHECK-BE-NAN-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtbegin.o"
127 // CHECK-BE-NAN-16: "-L[[SR]]/mips32/mips16/nan2008"
128 // CHECK-BE-NAN-16: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/nan2008"
129 // CHECK-BE-NAN-16: "-L[[SR]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib"
130 // CHECK-BE-NAN-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtend.o"
131 // CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
132 //
133 // = Big-endian, mips32, nan2008
134 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
135 // RUN:     --target=mips-linux-gnu -mips32 -mnan=2008 \
136 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
137 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-32 %s
138 // CHECK-BE-NAN-32: "-internal-isystem"
139 // CHECK-BE-NAN-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
140 // CHECK-BE-NAN-32: "-internal-isystem"
141 // CHECK-BE-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/nan2008"
142 // CHECK-BE-NAN-32: "-internal-isystem"
143 // CHECK-BE-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
144 // CHECK-BE-NAN-32: "-internal-externc-isystem"
145 // CHECK-BE-NAN-32: "[[TC]]/include"
146 // CHECK-BE-NAN-32: "-internal-externc-isystem"
147 // CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/usr/include"
148 // CHECK-BE-NAN-32: "{{.*}}ld{{(.exe)?}}"
149 // CHECK-BE-NAN-32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips32/nan2008"
150 // CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
151 // CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
152 // CHECK-BE-NAN-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtbegin.o"
153 // CHECK-BE-NAN-32: "-L[[SR]]/mips32/nan2008"
154 // CHECK-BE-NAN-32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/nan2008"
155 // CHECK-BE-NAN-32: "-L[[SR]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib"
156 // CHECK-BE-NAN-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtend.o"
157 // CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
158 //
159 // = Big-endian, mips32r2, hard float
160 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
161 // RUN:     --target=mips-linux-gnu -mips32r2 -mhard-float \
162 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
163 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-32R2 %s
164 // CHECK-BE-HF-32R2: "-internal-isystem"
165 // CHECK-BE-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
166 // CHECK-BE-HF-32R2: "-internal-isystem"
167 // CHECK-BE-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu"
168 // CHECK-BE-HF-32R2: "-internal-isystem"
169 // CHECK-BE-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
170 // CHECK-BE-HF-32R2: "-internal-externc-isystem"
171 // CHECK-BE-HF-32R2: "[[TC]]/include"
172 // CHECK-BE-HF-32R2: "-internal-externc-isystem"
173 // CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/include"
174 // CHECK-BE-HF-32R2: "{{.*}}ld{{(.exe)?}}"
175 // CHECK-BE-HF-32R2: "--sysroot=[[SR:[^"]+]]/../../../../sysroot"
176 // CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crt1.o"
177 // CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crti.o"
178 // CHECK-BE-HF-32R2: "[[TC]]{{/|\\\\}}crtbegin.o"
179 // CHECK-BE-HF-32R2: "-L[[SR]]"
180 // CHECK-BE-HF-32R2: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib"
181 // CHECK-BE-HF-32R2: "-L[[SR]]/../../../../sysroot/usr/lib/../lib"
182 // CHECK-BE-HF-32R2: "[[TC]]{{/|\\\\}}crtend.o"
183 // CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crtn.o"
184 //
185 // = Big-endian, mips32r2, soft float
186 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
187 // RUN:     --target=mips-linux-gnu -mips32r2 -msoft-float \
188 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
189 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-32R2 %s
190 // CHECK-BE-SF-32R2: "-internal-isystem"
191 // CHECK-BE-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
192 // CHECK-BE-SF-32R2: "-internal-isystem"
193 // CHECK-BE-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/sof"
194 // CHECK-BE-SF-32R2: "-internal-isystem"
195 // CHECK-BE-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
196 // CHECK-BE-SF-32R2: "-internal-externc-isystem"
197 // CHECK-BE-SF-32R2: "[[TC]]/include"
198 // CHECK-BE-SF-32R2: "-internal-externc-isystem"
199 // CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/usr/include"
200 // CHECK-BE-SF-32R2: "{{.*}}ld{{(.exe)?}}"
201 // CHECK-BE-SF-32R2: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/sof"
202 // CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
203 // CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crti.o"
204 // CHECK-BE-SF-32R2: "[[TC]]/sof{{/|\\\\}}crtbegin.o"
205 // CHECK-BE-SF-32R2: "-L[[SR]]/sof"
206 // CHECK-BE-SF-32R2: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/sof"
207 // CHECK-BE-SF-32R2: "-L[[SR]]/../../../../sysroot/sof/usr/lib/../lib"
208 // CHECK-BE-SF-32R2: "[[TC]]/sof{{/|\\\\}}crtend.o"
209 // CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
210 //
211 // = Big-endian, mips32r2 / mips16, hard float
212 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
213 // RUN:     --target=mips-linux-gnu -mips32r2 -mips16 -mhard-float \
214 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
215 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-16R2 %s
216 // CHECK-BE-HF-16R2: "-internal-isystem"
217 // CHECK-BE-HF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
218 // CHECK-BE-HF-16R2: "-internal-isystem"
219 // CHECK-BE-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16"
220 // CHECK-BE-HF-16R2: "-internal-isystem"
221 // CHECK-BE-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
222 // CHECK-BE-HF-16R2: "-internal-externc-isystem"
223 // CHECK-BE-HF-16R2: "[[TC]]/include"
224 // CHECK-BE-HF-16R2: "-internal-externc-isystem"
225 // CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/usr/include"
226 // CHECK-BE-HF-16R2: "{{.*}}ld{{(.exe)?}}"
227 // CHECK-BE-HF-16R2: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips16"
228 // CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
229 // CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
230 // CHECK-BE-HF-16R2: "[[TC]]/mips16{{/|\\\\}}crtbegin.o"
231 // CHECK-BE-HF-16R2: "-L[[SR]]/mips16"
232 // CHECK-BE-HF-16R2: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16"
233 // CHECK-BE-HF-16R2: "-L[[SR]]/../../../../sysroot/mips16/usr/lib/../lib"
234 // CHECK-BE-HF-16R2: "[[TC]]/mips16{{/|\\\\}}crtend.o"
235 // CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
236 //
237 // = Big-endian, mips32r2 / mips16, soft float
238 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
239 // RUN:     --target=mips-linux-gnu -mips32r2 -mips16 -msoft-float \
240 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
241 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-16R2 %s
242 // CHECK-BE-SF-16R2: "-internal-isystem"
243 // CHECK-BE-SF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
244 // CHECK-BE-SF-16R2: "-internal-isystem"
245 // CHECK-BE-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/sof"
246 // CHECK-BE-SF-16R2: "-internal-isystem"
247 // CHECK-BE-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
248 // CHECK-BE-SF-16R2: "-internal-externc-isystem"
249 // CHECK-BE-SF-16R2: "[[TC]]/include"
250 // CHECK-BE-SF-16R2: "-internal-externc-isystem"
251 // CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/usr/include"
252 // CHECK-BE-SF-16R2: "{{.*}}ld{{(.exe)?}}"
253 // CHECK-BE-SF-16R2: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips16/sof"
254 // CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
255 // CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib{{/|\\\\}}crti.o"
256 // CHECK-BE-SF-16R2: "[[TC]]/mips16/sof{{/|\\\\}}crtbegin.o"
257 // CHECK-BE-SF-16R2: "-L[[SR]]/mips16/sof"
258 // CHECK-BE-SF-16R2: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/sof"
259 // CHECK-BE-SF-16R2: "-L[[SR]]/../../../../sysroot/mips16/sof/usr/lib/../lib"
260 // CHECK-BE-SF-16R2: "[[TC]]/mips16/sof{{/|\\\\}}crtend.o"
261 // CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
262 //
263 // = Big-endian, mips32r2 / mips16, nan2008
264 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
265 // RUN:     --target=mips-linux-gnu -mips32r2 -mips16 -mnan=2008 \
266 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
267 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-16R2 %s
268 // CHECK-BE-NAN-16R2: "-internal-isystem"
269 // CHECK-BE-NAN-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
270 // CHECK-BE-NAN-16R2: "-internal-isystem"
271 // CHECK-BE-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/nan2008"
272 // CHECK-BE-NAN-16R2: "-internal-isystem"
273 // CHECK-BE-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
274 // CHECK-BE-NAN-16R2: "-internal-externc-isystem"
275 // CHECK-BE-NAN-16R2: "[[TC]]/include"
276 // CHECK-BE-NAN-16R2: "-internal-externc-isystem"
277 // CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/usr/include"
278 // CHECK-BE-NAN-16R2: "{{.*}}ld{{(.exe)?}}"
279 // CHECK-BE-NAN-16R2: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips16/nan2008"
280 // CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
281 // CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
282 // CHECK-BE-NAN-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtbegin.o"
283 // CHECK-BE-NAN-16R2: "-L[[SR]]/mips16/nan2008"
284 // CHECK-BE-NAN-16R2: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/nan2008"
285 // CHECK-BE-NAN-16R2: "-L[[SR]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib"
286 // CHECK-BE-NAN-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtend.o"
287 // CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
288 //
289 // = Big-endian, mips32r2, nan2008
290 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
291 // RUN:     --target=mips-linux-gnu -mips32r2 -mnan=2008 \
292 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
293 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-32R2 %s
294 // CHECK-BE-NAN-32R2: "-internal-isystem"
295 // CHECK-BE-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
296 // CHECK-BE-NAN-32R2: "-internal-isystem"
297 // CHECK-BE-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/nan2008"
298 // CHECK-BE-NAN-32R2: "-internal-isystem"
299 // CHECK-BE-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
300 // CHECK-BE-NAN-32R2: "-internal-externc-isystem"
301 // CHECK-BE-NAN-32R2: "[[TC]]/include"
302 // CHECK-BE-NAN-32R2: "-internal-externc-isystem"
303 // CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/usr/include"
304 // CHECK-BE-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
305 // CHECK-BE-NAN-32R2: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/nan2008"
306 // CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
307 // CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
308 // CHECK-BE-NAN-32R2: "[[TC]]/nan2008{{/|\\\\}}crtbegin.o"
309 // CHECK-BE-NAN-32R2: "-L[[SR]]/nan2008"
310 // CHECK-BE-NAN-32R2: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/nan2008"
311 // CHECK-BE-NAN-32R2: "-L[[SR]]/../../../../sysroot/nan2008/usr/lib/../lib"
312 // CHECK-BE-NAN-32R2: "[[TC]]/nan2008{{/|\\\\}}crtend.o"
313 // CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
314 //
315 // = Big-endian, micromips, hard float
316 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
317 // RUN:     --target=mips-linux-gnu -mmicromips -mhard-float \
318 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
319 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-MM %s
320 // CHECK-BE-HF-MM: "-internal-isystem"
321 // CHECK-BE-HF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
322 // CHECK-BE-HF-MM: "-internal-isystem"
323 // CHECK-BE-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips"
324 // CHECK-BE-HF-MM: "-internal-isystem"
325 // CHECK-BE-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
326 // CHECK-BE-HF-MM: "-internal-externc-isystem"
327 // CHECK-BE-HF-MM: "[[TC]]/include"
328 // CHECK-BE-HF-MM: "-internal-externc-isystem"
329 // CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/usr/include"
330 // CHECK-BE-HF-MM: "{{.*}}ld{{(.exe)?}}"
331 // CHECK-BE-HF-MM: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/micromips"
332 // CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crt1.o"
333 // CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crti.o"
334 // CHECK-BE-HF-MM: "[[TC]]/micromips{{/|\\\\}}crtbegin.o"
335 // CHECK-BE-HF-MM: "-L[[SR]]/micromips"
336 // CHECK-BE-HF-MM: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips"
337 // CHECK-BE-HF-MM: "-L[[SR]]/../../../../sysroot/micromips/usr/lib/../lib"
338 // CHECK-BE-HF-MM: "[[TC]]/micromips{{/|\\\\}}crtend.o"
339 // CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crtn.o"
340 //
341 // = Big-endian, micromips, soft float
342 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
343 // RUN:     --target=mips-linux-gnu -mmicromips -msoft-float \
344 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
345 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-MM %s
346 // CHECK-BE-SF-MM: "-internal-isystem"
347 // CHECK-BE-SF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
348 // CHECK-BE-SF-MM: "-internal-isystem"
349 // CHECK-BE-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/sof"
350 // CHECK-BE-SF-MM: "-internal-isystem"
351 // CHECK-BE-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
352 // CHECK-BE-SF-MM: "-internal-externc-isystem"
353 // CHECK-BE-SF-MM: "[[TC]]/include"
354 // CHECK-BE-SF-MM: "-internal-externc-isystem"
355 // CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/usr/include"
356 // CHECK-BE-SF-MM: "{{.*}}ld{{(.exe)?}}"
357 // CHECK-BE-SF-MM: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/micromips/sof"
358 // CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
359 // CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib{{/|\\\\}}crti.o"
360 // CHECK-BE-SF-MM: "[[TC]]/micromips/sof{{/|\\\\}}crtbegin.o"
361 // CHECK-BE-SF-MM: "-L[[SR]]/micromips/sof"
362 // CHECK-BE-SF-MM: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/sof"
363 // CHECK-BE-SF-MM: "-L[[SR]]/../../../../sysroot/micromips/sof/usr/lib/../lib"
364 // CHECK-BE-SF-MM: "[[TC]]/micromips/sof{{/|\\\\}}crtend.o"
365 // CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
366 //
367 // = Big-endian, micromips, nan2008
368 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
369 // RUN:     --target=mips-linux-gnu -mmicromips -mnan=2008 \
370 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
371 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-MM %s
372 // CHECK-BE-NAN-MM: "-internal-isystem"
373 // CHECK-BE-NAN-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
374 // CHECK-BE-NAN-MM: "-internal-isystem"
375 // CHECK-BE-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/nan2008"
376 // CHECK-BE-NAN-MM: "-internal-isystem"
377 // CHECK-BE-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
378 // CHECK-BE-NAN-MM: "-internal-externc-isystem"
379 // CHECK-BE-NAN-MM: "[[TC]]/include"
380 // CHECK-BE-NAN-MM: "-internal-externc-isystem"
381 // CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/usr/include"
382 // CHECK-BE-NAN-MM: "{{.*}}ld{{(.exe)?}}"
383 // CHECK-BE-NAN-MM: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/micromips/nan2008"
384 // CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
385 // CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
386 // CHECK-BE-NAN-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtbegin.o"
387 // CHECK-BE-NAN-MM: "-L[[SR]]/micromips/nan2008"
388 // CHECK-BE-NAN-MM: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/nan2008"
389 // CHECK-BE-NAN-MM: "-L[[SR]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib"
390 // CHECK-BE-NAN-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtend.o"
391 // CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
392 //
393 // = Big-endian, mips64, ABI n32, hard float
394 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
395 // RUN:     --target=mips64-linux-gnu -mips64 -mabi=n32 -mhard-float \
396 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
397 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64-N32 %s
398 // CHECK-BE-HF-64-N32: "-internal-isystem"
399 // CHECK-BE-HF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
400 // CHECK-BE-HF-64-N32: "-internal-isystem"
401 // CHECK-BE-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64"
402 // CHECK-BE-HF-64-N32: "-internal-isystem"
403 // CHECK-BE-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
404 // CHECK-BE-HF-64-N32: "-internal-externc-isystem"
405 // CHECK-BE-HF-64-N32: "[[TC]]/include"
406 // CHECK-BE-HF-64-N32: "-internal-externc-isystem"
407 // CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
408 // CHECK-BE-HF-64-N32: "{{.*}}ld{{(.exe)?}}"
409 // CHECK-BE-HF-64-N32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64"
410 // CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crt1.o"
411 // CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crti.o"
412 // CHECK-BE-HF-64-N32: "[[TC]]/mips64{{/|\\\\}}crtbegin.o"
413 // CHECK-BE-HF-64-N32: "-L[[SR]]/mips64"
414 // CHECK-BE-HF-64-N32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64"
415 // CHECK-BE-HF-64-N32: "-L[[SR]]/../../../../sysroot/mips64/usr/lib"
416 // CHECK-BE-HF-64-N32: "[[TC]]/mips64{{/|\\\\}}crtend.o"
417 // CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crtn.o"
418 //
419 // = Big-endian, mips64, ABI n32, soft float
420 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
421 // RUN:     --target=mips64-linux-gnu -mips64 -mabi=n32 -msoft-float \
422 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
423 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-64-N32 %s
424 // CHECK-BE-SF-64-N32: "-internal-isystem"
425 // CHECK-BE-SF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
426 // CHECK-BE-SF-64-N32: "-internal-isystem"
427 // CHECK-BE-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/sof"
428 // CHECK-BE-SF-64-N32: "-internal-isystem"
429 // CHECK-BE-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
430 // CHECK-BE-SF-64-N32: "-internal-externc-isystem"
431 // CHECK-BE-SF-64-N32: "[[TC]]/include"
432 // CHECK-BE-SF-64-N32: "-internal-externc-isystem"
433 // CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
434 // CHECK-BE-SF-64-N32: "{{.*}}ld{{(.exe)?}}"
435 // CHECK-BE-SF-64-N32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64/sof"
436 // CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/sof/usr/lib{{/|\\\\}}crt1.o"
437 // CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/sof/usr/lib{{/|\\\\}}crti.o"
438 // CHECK-BE-SF-64-N32: "[[TC]]/mips64/sof{{/|\\\\}}crtbegin.o"
439 // CHECK-BE-SF-64-N32: "-L[[SR]]/mips64/sof"
440 // CHECK-BE-SF-64-N32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64/sof"
441 // CHECK-BE-SF-64-N32: "-L[[SR]]/../../../../sysroot/mips64/sof/usr/lib"
442 // CHECK-BE-SF-64-N32: "[[TC]]/mips64/sof{{/|\\\\}}crtend.o"
443 // CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/sof/usr/lib{{/|\\\\}}crtn.o"
444 //
445 // = Big-endian, mips64, ABI n32, nan2008
446 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
447 // RUN:     --target=mips64-linux-gnu -mips64 -mabi=n32 -mnan=2008 \
448 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
449 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-64-N32 %s
450 // CHECK-BE-NAN-64-N32: "-internal-isystem"
451 // CHECK-BE-NAN-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
452 // CHECK-BE-NAN-64-N32: "-internal-isystem"
453 // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/nan2008"
454 // CHECK-BE-NAN-64-N32: "-internal-isystem"
455 // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
456 // CHECK-BE-NAN-64-N32: "-internal-externc-isystem"
457 // CHECK-BE-NAN-64-N32: "[[TC]]/include"
458 // CHECK-BE-NAN-64-N32: "-internal-externc-isystem"
459 // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/usr/include"
460 // CHECK-BE-NAN-64-N32: "{{.*}}ld{{(.exe)?}}"
461 // CHECK-BE-NAN-64-N32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64/nan2008"
462 // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crt1.o"
463 // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crti.o"
464 // CHECK-BE-NAN-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtbegin.o"
465 // CHECK-BE-NAN-64-N32: "-L[[SR]]/mips64/nan2008"
466 // CHECK-BE-NAN-64-N32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64/nan2008"
467 // CHECK-BE-NAN-64-N32: "-L[[SR]]/../../../../sysroot/mips64/nan2008/usr/lib"
468 // CHECK-BE-NAN-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtend.o"
469 // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crtn.o"
470 //
471 // = Big-endian, mips64, ABI 64, hard float
472 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
473 // RUN:     --target=mips64-linux-gnu -mips64 -mabi=64 -mhard-float \
474 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
475 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64-64 %s
476 // CHECK-BE-HF-64-64: "-internal-isystem"
477 // CHECK-BE-HF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
478 // CHECK-BE-HF-64-64: "-internal-isystem"
479 // CHECK-BE-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64"
480 // CHECK-BE-HF-64-64: "-internal-isystem"
481 // CHECK-BE-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
482 // CHECK-BE-HF-64-64: "-internal-externc-isystem"
483 // CHECK-BE-HF-64-64: "[[TC]]/include"
484 // CHECK-BE-HF-64-64: "-internal-externc-isystem"
485 // CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/usr/include"
486 // CHECK-BE-HF-64-64: "{{.*}}ld{{(.exe)?}}"
487 // CHECK-BE-HF-64-64: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64/64"
488 // CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crt1.o"
489 // CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crti.o"
490 // CHECK-BE-HF-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtbegin.o"
491 // CHECK-BE-HF-64-64: "-L[[SR]]/mips64/64"
492 // CHECK-BE-HF-64-64: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64/64"
493 // CHECK-BE-HF-64-64: "-L[[SR]]/../../../../sysroot/mips64/64/usr/lib"
494 // CHECK-BE-HF-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtend.o"
495 // CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crtn.o"
496 //
497 // = Big-endian, mips64, ABI 64, soft float
498 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
499 // RUN:     --target=mips64-linux-gnu -mips64 -mabi=64 -msoft-float \
500 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
501 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-64-64 %s
502 // CHECK-BE-SF-64-64: "-internal-isystem"
503 // CHECK-BE-SF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
504 // CHECK-BE-SF-64-64: "-internal-isystem"
505 // CHECK-BE-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/sof"
506 // CHECK-BE-SF-64-64: "-internal-isystem"
507 // CHECK-BE-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
508 // CHECK-BE-SF-64-64: "-internal-externc-isystem"
509 // CHECK-BE-SF-64-64: "[[TC]]/include"
510 // CHECK-BE-SF-64-64: "-internal-externc-isystem"
511 // CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/usr/include"
512 // CHECK-BE-SF-64-64: "{{.*}}ld{{(.exe)?}}"
513 // CHECK-BE-SF-64-64: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64/64/sof"
514 // CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib{{/|\\\\}}crt1.o"
515 // CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib{{/|\\\\}}crti.o"
516 // CHECK-BE-SF-64-64: "[[TC]]/mips64/64/sof{{/|\\\\}}crtbegin.o"
517 // CHECK-BE-SF-64-64: "-L[[SR]]/mips64/64/sof"
518 // CHECK-BE-SF-64-64: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64/64/sof"
519 // CHECK-BE-SF-64-64: "-L[[SR]]/../../../../sysroot/mips64/64/sof/usr/lib"
520 // CHECK-BE-SF-64-64: "[[TC]]/mips64/64/sof{{/|\\\\}}crtend.o"
521 // CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib{{/|\\\\}}crtn.o"
522 //
523 // = Big-endian, mips64, ABI 64, nan2008
524 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
525 // RUN:     --target=mips64-linux-gnu -mips64 -mabi=64 -mnan=2008 \
526 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
527 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-64-64 %s
528 // CHECK-BE-NAN-64-64: "-internal-isystem"
529 // CHECK-BE-NAN-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
530 // CHECK-BE-NAN-64-64: "-internal-isystem"
531 // CHECK-BE-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/nan2008"
532 // CHECK-BE-NAN-64-64: "-internal-isystem"
533 // CHECK-BE-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
534 // CHECK-BE-NAN-64-64: "-internal-externc-isystem"
535 // CHECK-BE-NAN-64-64: "[[TC]]/include"
536 // CHECK-BE-NAN-64-64: "-internal-externc-isystem"
537 // CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/usr/include"
538 // CHECK-BE-NAN-64-64: "{{.*}}ld{{(.exe)?}}"
539 // CHECK-BE-NAN-64-64: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64/64/nan2008"
540 // CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
541 // CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crti.o"
542 // CHECK-BE-NAN-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtbegin.o"
543 // CHECK-BE-NAN-64-64: "-L[[SR]]/mips64/64/nan2008"
544 // CHECK-BE-NAN-64-64: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64/64/nan2008"
545 // CHECK-BE-NAN-64-64: "-L[[SR]]/../../../../sysroot/mips64/64/nan2008/usr/lib"
546 // CHECK-BE-NAN-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtend.o"
547 // CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
548 //
549 // = Big-endian, mips64r2, ABI n32, hard float
550 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
551 // RUN:     --target=mips64-linux-gnu -mips64r2 -mabi=n32 -mhard-float \
552 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
553 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64R2-N32 %s
554 // CHECK-BE-HF-64R2-N32: "-internal-isystem"
555 // CHECK-BE-HF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
556 // CHECK-BE-HF-64R2-N32: "-internal-isystem"
557 // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2"
558 // CHECK-BE-HF-64R2-N32: "-internal-isystem"
559 // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
560 // CHECK-BE-HF-64R2-N32: "-internal-externc-isystem"
561 // CHECK-BE-HF-64R2-N32: "[[TC]]/include"
562 // CHECK-BE-HF-64R2-N32: "-internal-externc-isystem"
563 // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
564 // CHECK-BE-HF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
565 // CHECK-BE-HF-64R2-N32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64r2"
566 // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crt1.o"
567 // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crti.o"
568 // CHECK-BE-HF-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtbegin.o"
569 // CHECK-BE-HF-64R2-N32: "-L[[SR]]/mips64r2"
570 // CHECK-BE-HF-64R2-N32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64r2"
571 // CHECK-BE-HF-64R2-N32: "-L[[SR]]/../../../../sysroot/mips64r2/usr/lib"
572 // CHECK-BE-HF-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtend.o"
573 // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crtn.o"
574 //
575 // = Big-endian, mips64r2, ABI n32, soft float
576 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
577 // RUN:     --target=mips64-linux-gnu -mips64r2 -mabi=n32 -msoft-float \
578 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
579 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-64R2-N32 %s
580 // CHECK-BE-SF-64R2-N32: "-internal-isystem"
581 // CHECK-BE-SF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
582 // CHECK-BE-SF-64R2-N32: "-internal-isystem"
583 // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/sof"
584 // CHECK-BE-SF-64R2-N32: "-internal-isystem"
585 // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
586 // CHECK-BE-SF-64R2-N32: "-internal-externc-isystem"
587 // CHECK-BE-SF-64R2-N32: "[[TC]]/include"
588 // CHECK-BE-SF-64R2-N32: "-internal-externc-isystem"
589 // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
590 // CHECK-BE-SF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
591 // CHECK-BE-SF-64R2-N32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64r2/sof"
592 // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib{{/|\\\\}}crt1.o"
593 // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib{{/|\\\\}}crti.o"
594 // CHECK-BE-SF-64R2-N32: "[[TC]]/mips64r2/sof{{/|\\\\}}crtbegin.o"
595 // CHECK-BE-SF-64R2-N32: "-L[[SR]]/mips64r2/sof"
596 // CHECK-BE-SF-64R2-N32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64r2/sof"
597 // CHECK-BE-SF-64R2-N32: "-L[[SR]]/../../../../sysroot/mips64r2/sof/usr/lib"
598 // CHECK-BE-SF-64R2-N32: "[[TC]]/mips64r2/sof{{/|\\\\}}crtend.o"
599 // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib{{/|\\\\}}crtn.o"
600 //
601 // = Big-endian, mips64r2, ABI n32, nan2008
602 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
603 // RUN:     --target=mips64-linux-gnu -mips64r2 -mabi=n32 -mnan=2008 \
604 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
605 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-64R2-N32 %s
606 // CHECK-BE-NAN-64R2-N32: "-internal-isystem"
607 // CHECK-BE-NAN-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
608 // CHECK-BE-NAN-64R2-N32: "-internal-isystem"
609 // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/nan2008"
610 // CHECK-BE-NAN-64R2-N32: "-internal-isystem"
611 // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
612 // CHECK-BE-NAN-64R2-N32: "-internal-externc-isystem"
613 // CHECK-BE-NAN-64R2-N32: "[[TC]]/include"
614 // CHECK-BE-NAN-64R2-N32: "-internal-externc-isystem"
615 // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
616 // CHECK-BE-NAN-64R2-N32: "{{.*}}ld{{(.exe)?}}"
617 // CHECK-BE-NAN-64R2-N32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64r2/nan2008"
618 // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crt1.o"
619 // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crti.o"
620 // CHECK-BE-NAN-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtbegin.o"
621 // CHECK-BE-NAN-64R2-N32: "-L[[SR]]/mips64r2/nan2008"
622 // CHECK-BE-NAN-64R2-N32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64r2/nan2008"
623 // CHECK-BE-NAN-64R2-N32: "-L[[SR]]/../../../../sysroot/mips64r2/nan2008/usr/lib"
624 // CHECK-BE-NAN-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtend.o"
625 // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crtn.o"
626 //
627 // = Big-endian, mips64r2, ABI 64, hard float
628 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
629 // RUN:     --target=mips64-linux-gnu -mips64r2 -mabi=64 -mhard-float \
630 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
631 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64R2-64 %s
632 // CHECK-BE-HF-64R2-64: "-internal-isystem"
633 // CHECK-BE-HF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
634 // CHECK-BE-HF-64R2-64: "-internal-isystem"
635 // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64"
636 // CHECK-BE-HF-64R2-64: "-internal-isystem"
637 // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
638 // CHECK-BE-HF-64R2-64: "-internal-externc-isystem"
639 // CHECK-BE-HF-64R2-64: "[[TC]]/include"
640 // CHECK-BE-HF-64R2-64: "-internal-externc-isystem"
641 // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
642 // CHECK-BE-HF-64R2-64: "{{.*}}ld{{(.exe)?}}"
643 // CHECK-BE-HF-64R2-64: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64r2/64"
644 // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crt1.o"
645 // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crti.o"
646 // CHECK-BE-HF-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtbegin.o"
647 // CHECK-BE-HF-64R2-64: "-L[[SR]]/mips64r2/64"
648 // CHECK-BE-HF-64R2-64: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64"
649 // CHECK-BE-HF-64R2-64: "-L[[SR]]/../../../../sysroot/mips64r2/64/usr/lib"
650 // CHECK-BE-HF-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtend.o"
651 // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crtn.o"
652 //
653 // = Big-endian, mips64r2, ABI 64, soft float
654 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
655 // RUN:     --target=mips64-linux-gnu -mips64r2 -mabi=64 -msoft-float \
656 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
657 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-64R2-64 %s
658 // CHECK-BE-SF-64R2-64: "-internal-isystem"
659 // CHECK-BE-SF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
660 // CHECK-BE-SF-64R2-64: "-internal-isystem"
661 // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/sof"
662 // CHECK-BE-SF-64R2-64: "-internal-isystem"
663 // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
664 // CHECK-BE-SF-64R2-64: "-internal-externc-isystem"
665 // CHECK-BE-SF-64R2-64: "[[TC]]/include"
666 // CHECK-BE-SF-64R2-64: "-internal-externc-isystem"
667 // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
668 // CHECK-BE-SF-64R2-64: "{{.*}}ld{{(.exe)?}}"
669 // CHECK-BE-SF-64R2-64: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64r2/64/sof"
670 // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib{{/|\\\\}}crt1.o"
671 // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib{{/|\\\\}}crti.o"
672 // CHECK-BE-SF-64R2-64: "[[TC]]/mips64r2/64/sof{{/|\\\\}}crtbegin.o"
673 // CHECK-BE-SF-64R2-64: "-L[[SR]]/mips64r2/64/sof"
674 // CHECK-BE-SF-64R2-64: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/sof"
675 // CHECK-BE-SF-64R2-64: "-L[[SR]]/../../../../sysroot/mips64r2/64/sof/usr/lib"
676 // CHECK-BE-SF-64R2-64: "[[TC]]/mips64r2/64/sof{{/|\\\\}}crtend.o"
677 // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib{{/|\\\\}}crtn.o"
678 //
679 // = Big-endian, mips64r2, ABI 64, nan2008
680 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
681 // RUN:     --target=mips64-linux-gnu -mips64r2 -mabi=64 -mnan=2008 \
682 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
683 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-64R2-64 %s
684 // CHECK-BE-NAN-64R2-64: "-internal-isystem"
685 // CHECK-BE-NAN-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
686 // CHECK-BE-NAN-64R2-64: "-internal-isystem"
687 // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/nan2008"
688 // CHECK-BE-NAN-64R2-64: "-internal-isystem"
689 // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
690 // CHECK-BE-NAN-64R2-64: "-internal-externc-isystem"
691 // CHECK-BE-NAN-64R2-64: "[[TC]]/include"
692 // CHECK-BE-NAN-64R2-64: "-internal-externc-isystem"
693 // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
694 // CHECK-BE-NAN-64R2-64: "{{.*}}ld{{(.exe)?}}"
695 // CHECK-BE-NAN-64R2-64: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64r2/64/nan2008"
696 // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
697 // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crti.o"
698 // CHECK-BE-NAN-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtbegin.o"
699 // CHECK-BE-NAN-64R2-64: "-L[[SR]]/mips64r2/64/nan2008"
700 // CHECK-BE-NAN-64R2-64: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/nan2008"
701 // CHECK-BE-NAN-64R2-64: "-L[[SR]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib"
702 // CHECK-BE-NAN-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtend.o"
703 // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
704 //
705 // = Little-endian, mips32, hard float
706 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
707 // RUN:     --target=mipsel-linux-gnu -mips32 -mhard-float \
708 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
709 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-32 %s
710 // CHECK-EL-HF-32: "-internal-isystem"
711 // CHECK-EL-HF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
712 // CHECK-EL-HF-32: "-internal-isystem"
713 // CHECK-EL-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el"
714 // CHECK-EL-HF-32: "-internal-isystem"
715 // CHECK-EL-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
716 // CHECK-EL-HF-32: "-internal-externc-isystem"
717 // CHECK-EL-HF-32: "[[TC]]/include"
718 // CHECK-EL-HF-32: "-internal-externc-isystem"
719 // CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/usr/include"
720 // CHECK-EL-HF-32: "{{.*}}ld{{(.exe)?}}"
721 // CHECK-EL-HF-32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips32/el"
722 // CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crt1.o"
723 // CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crti.o"
724 // CHECK-EL-HF-32: "[[TC]]/mips32/el{{/|\\\\}}crtbegin.o"
725 // CHECK-EL-HF-32: "-L[[SR]]/mips32/el"
726 // CHECK-EL-HF-32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el"
727 // CHECK-EL-HF-32: "-L[[SR]]/../../../../sysroot/mips32/el/usr/lib/../lib"
728 // CHECK-EL-HF-32: "[[TC]]/mips32/el{{/|\\\\}}crtend.o"
729 // CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crtn.o"
730 //
731 // = Little-endian, mips32, soft float
732 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
733 // RUN:     --target=mipsel-linux-gnu -mips32 -msoft-float \
734 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
735 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-32 %s
736 // CHECK-EL-SF-32: "-internal-isystem"
737 // CHECK-EL-SF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
738 // CHECK-EL-SF-32: "-internal-isystem"
739 // CHECK-EL-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el/sof"
740 // CHECK-EL-SF-32: "-internal-isystem"
741 // CHECK-EL-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
742 // CHECK-EL-SF-32: "-internal-externc-isystem"
743 // CHECK-EL-SF-32: "[[TC]]/include"
744 // CHECK-EL-SF-32: "-internal-externc-isystem"
745 // CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/usr/include"
746 // CHECK-EL-SF-32: "{{.*}}ld{{(.exe)?}}"
747 // CHECK-EL-SF-32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips32/el/sof"
748 // CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
749 // CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
750 // CHECK-EL-SF-32: "[[TC]]/mips32/el/sof{{/|\\\\}}crtbegin.o"
751 // CHECK-EL-SF-32: "-L[[SR]]/mips32/el/sof"
752 // CHECK-EL-SF-32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el/sof"
753 // CHECK-EL-SF-32: "-L[[SR]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib"
754 // CHECK-EL-SF-32: "[[TC]]/mips32/el/sof{{/|\\\\}}crtend.o"
755 // CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
756 //
757 // = Little-endian, mips32 / mips16, hard float
758 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
759 // RUN:     --target=mipsel-linux-gnu -mips32 -mips16 -mhard-float \
760 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
761 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-16 %s
762 // CHECK-EL-HF-16: "-internal-isystem"
763 // CHECK-EL-HF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
764 // CHECK-EL-HF-16: "-internal-isystem"
765 // CHECK-EL-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el"
766 // CHECK-EL-HF-16: "-internal-isystem"
767 // CHECK-EL-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
768 // CHECK-EL-HF-16: "-internal-externc-isystem"
769 // CHECK-EL-HF-16: "[[TC]]/include"
770 // CHECK-EL-HF-16: "-internal-externc-isystem"
771 // CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/usr/include"
772 // CHECK-EL-HF-16: "{{.*}}ld{{(.exe)?}}"
773 // CHECK-EL-HF-16: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips32/mips16/el"
774 // CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
775 // CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
776 // CHECK-EL-HF-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtbegin.o"
777 // CHECK-EL-HF-16: "-L[[SR]]/mips32/mips16/el"
778 // CHECK-EL-HF-16: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el"
779 // CHECK-EL-HF-16: "-L[[SR]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib"
780 // CHECK-EL-HF-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtend.o"
781 // CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
782 //
783 // = Little-endian, mips32 / mips16, soft float
784 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
785 // RUN:     --target=mipsel-linux-gnu -mips32 -mips16 -msoft-float \
786 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
787 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-16 %s
788 // CHECK-EL-SF-16: "-internal-isystem"
789 // CHECK-EL-SF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
790 // CHECK-EL-SF-16: "-internal-isystem"
791 // CHECK-EL-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el/sof"
792 // CHECK-EL-SF-16: "-internal-isystem"
793 // CHECK-EL-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
794 // CHECK-EL-SF-16: "-internal-externc-isystem"
795 // CHECK-EL-SF-16: "[[TC]]/include"
796 // CHECK-EL-SF-16: "-internal-externc-isystem"
797 // CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/usr/include"
798 // CHECK-EL-SF-16: "{{.*}}ld{{(.exe)?}}"
799 // CHECK-EL-SF-16: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips32/mips16/el/sof"
800 // CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
801 // CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
802 // CHECK-EL-SF-16: "[[TC]]/mips32/mips16/el/sof{{/|\\\\}}crtbegin.o"
803 // CHECK-EL-SF-16: "-L[[SR]]/mips32/mips16/el/sof"
804 // CHECK-EL-SF-16: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el/sof"
805 // CHECK-EL-SF-16: "-L[[SR]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib"
806 // CHECK-EL-SF-16: "[[TC]]/mips32/mips16/el/sof{{/|\\\\}}crtend.o"
807 // CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
808 //
809 // = Little-endian, mips32 / mips16, nan2008
810 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
811 // RUN:     --target=mipsel-linux-gnu -mips32 -mips16 -mnan=2008 \
812 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
813 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-16 %s
814 // CHECK-EL-NAN-16: "-internal-isystem"
815 // CHECK-EL-NAN-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
816 // CHECK-EL-NAN-16: "-internal-isystem"
817 // CHECK-EL-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el/nan2008"
818 // CHECK-EL-NAN-16: "-internal-isystem"
819 // CHECK-EL-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
820 // CHECK-EL-NAN-16: "-internal-externc-isystem"
821 // CHECK-EL-NAN-16: "[[TC]]/include"
822 // CHECK-EL-NAN-16: "-internal-externc-isystem"
823 // CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/usr/include"
824 // CHECK-EL-NAN-16: "{{.*}}ld{{(.exe)?}}"
825 // CHECK-EL-NAN-16: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips32/mips16/el/nan2008"
826 // CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
827 // CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
828 // CHECK-EL-NAN-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
829 // CHECK-EL-NAN-16: "-L[[SR]]/mips32/mips16/el/nan2008"
830 // CHECK-EL-NAN-16: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el/nan2008"
831 // CHECK-EL-NAN-16: "-L[[SR]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib"
832 // CHECK-EL-NAN-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtend.o"
833 // CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
834 //
835 // = Little-endian, mips32, nan2008
836 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
837 // RUN:     --target=mipsel-linux-gnu -mips32 -mnan=2008 \
838 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
839 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-32 %s
840 // CHECK-EL-NAN-32: "-internal-isystem"
841 // CHECK-EL-NAN-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
842 // CHECK-EL-NAN-32: "-internal-isystem"
843 // CHECK-EL-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el/nan2008"
844 // CHECK-EL-NAN-32: "-internal-isystem"
845 // CHECK-EL-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
846 // CHECK-EL-NAN-32: "-internal-externc-isystem"
847 // CHECK-EL-NAN-32: "[[TC]]/include"
848 // CHECK-EL-NAN-32: "-internal-externc-isystem"
849 // CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/usr/include"
850 // CHECK-EL-NAN-32: "{{.*}}ld{{(.exe)?}}"
851 // CHECK-EL-NAN-32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips32/el/nan2008"
852 // CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
853 // CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
854 // CHECK-EL-NAN-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtbegin.o"
855 // CHECK-EL-NAN-32: "-L[[SR]]/mips32/el/nan2008"
856 // CHECK-EL-NAN-32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el/nan2008"
857 // CHECK-EL-NAN-32: "-L[[SR]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib"
858 // CHECK-EL-NAN-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtend.o"
859 // CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
860 //
861 // = Little-endian, mips32r2, hard float
862 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
863 // RUN:     --target=mipsel-linux-gnu -mips32r2 -mhard-float \
864 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
865 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-32R2 %s
866 // CHECK-EL-HF-32R2: "-internal-isystem"
867 // CHECK-EL-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
868 // CHECK-EL-HF-32R2: "-internal-isystem"
869 // CHECK-EL-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el"
870 // CHECK-EL-HF-32R2: "-internal-isystem"
871 // CHECK-EL-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
872 // CHECK-EL-HF-32R2: "-internal-externc-isystem"
873 // CHECK-EL-HF-32R2: "[[TC]]/include"
874 // CHECK-EL-HF-32R2: "-internal-externc-isystem"
875 // CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/usr/include"
876 // CHECK-EL-HF-32R2: "{{.*}}ld{{(.exe)?}}"
877 // CHECK-EL-HF-32R2: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/el"
878 // CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crt1.o"
879 // CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crti.o"
880 // CHECK-EL-HF-32R2: "[[TC]]/el{{/|\\\\}}crtbegin.o"
881 // CHECK-EL-HF-32R2: "-L[[SR]]/el"
882 // CHECK-EL-HF-32R2: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/el"
883 // CHECK-EL-HF-32R2: "-L[[SR]]/../../../../sysroot/el/usr/lib/../lib"
884 // CHECK-EL-HF-32R2: "[[TC]]/el{{/|\\\\}}crtend.o"
885 // CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crtn.o"
886 //
887 // = Little-endian, mips32r2, soft float
888 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
889 // RUN:     --target=mipsel-linux-gnu -mips32r2 -msoft-float \
890 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
891 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-32R2 %s
892 // CHECK-EL-SF-32R2: "-internal-isystem"
893 // CHECK-EL-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
894 // CHECK-EL-SF-32R2: "-internal-isystem"
895 // CHECK-EL-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/sof"
896 // CHECK-EL-SF-32R2: "-internal-isystem"
897 // CHECK-EL-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
898 // CHECK-EL-SF-32R2: "-internal-externc-isystem"
899 // CHECK-EL-SF-32R2: "[[TC]]/include"
900 // CHECK-EL-SF-32R2: "-internal-externc-isystem"
901 // CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/usr/include"
902 // CHECK-EL-SF-32R2: "{{.*}}ld{{(.exe)?}}"
903 // CHECK-EL-SF-32R2: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/el/sof"
904 // CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
905 // CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
906 // CHECK-EL-SF-32R2: "[[TC]]/el/sof{{/|\\\\}}crtbegin.o"
907 // CHECK-EL-SF-32R2: "-L[[SR]]/el/sof"
908 // CHECK-EL-SF-32R2: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/el/sof"
909 // CHECK-EL-SF-32R2: "-L[[SR]]/../../../../sysroot/el/sof/usr/lib/../lib"
910 // CHECK-EL-SF-32R2: "[[TC]]/el/sof{{/|\\\\}}crtend.o"
911 // CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
912 //
913 // = Little-endian, mips32r2 / mips16, hard float
914 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
915 // RUN:     --target=mipsel-linux-gnu -mips32r2 -mips16 -mhard-float \
916 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
917 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-16R2 %s
918 // CHECK-EL-HF-16R2: "-internal-isystem"
919 // CHECK-EL-HF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
920 // CHECK-EL-HF-16R2: "-internal-isystem"
921 // CHECK-EL-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el"
922 // CHECK-EL-HF-16R2: "-internal-isystem"
923 // CHECK-EL-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
924 // CHECK-EL-HF-16R2: "-internal-externc-isystem"
925 // CHECK-EL-HF-16R2: "[[TC]]/include"
926 // CHECK-EL-HF-16R2: "-internal-externc-isystem"
927 // CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/usr/include"
928 // CHECK-EL-HF-16R2: "{{.*}}ld{{(.exe)?}}"
929 // CHECK-EL-HF-16R2: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips16/el"
930 // CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
931 // CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
932 // CHECK-EL-HF-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtbegin.o"
933 // CHECK-EL-HF-16R2: "-L[[SR]]/mips16/el"
934 // CHECK-EL-HF-16R2: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el"
935 // CHECK-EL-HF-16R2: "-L[[SR]]/../../../../sysroot/mips16/el/usr/lib/../lib"
936 // CHECK-EL-HF-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtend.o"
937 // CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
938 //
939 // = Little-endian, mips32r2 / mips16, soft float
940 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
941 // RUN:     --target=mipsel-linux-gnu -mips32r2 -mips16 -msoft-float \
942 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
943 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-16R2 %s
944 // CHECK-EL-SF-16R2: "-internal-isystem"
945 // CHECK-EL-SF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
946 // CHECK-EL-SF-16R2: "-internal-isystem"
947 // CHECK-EL-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el/sof"
948 // CHECK-EL-SF-16R2: "-internal-isystem"
949 // CHECK-EL-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
950 // CHECK-EL-SF-16R2: "-internal-externc-isystem"
951 // CHECK-EL-SF-16R2: "[[TC]]/include"
952 // CHECK-EL-SF-16R2: "-internal-externc-isystem"
953 // CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/usr/include"
954 // CHECK-EL-SF-16R2: "{{.*}}ld{{(.exe)?}}"
955 // CHECK-EL-SF-16R2: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips16/el/sof"
956 // CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
957 // CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
958 // CHECK-EL-SF-16R2: "[[TC]]/mips16/el/sof{{/|\\\\}}crtbegin.o"
959 // CHECK-EL-SF-16R2: "-L[[SR]]/mips16/el/sof"
960 // CHECK-EL-SF-16R2: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el/sof"
961 // CHECK-EL-SF-16R2: "-L[[SR]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib"
962 // CHECK-EL-SF-16R2: "[[TC]]/mips16/el/sof{{/|\\\\}}crtend.o"
963 // CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
964 //
965 // = Little-endian, mips32r2 / mips16, nan2008
966 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
967 // RUN:     --target=mipsel-linux-gnu -mips32r2 -mips16 -mnan=2008 \
968 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
969 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-16R2 %s
970 // CHECK-EL-NAN-16R2: "-internal-isystem"
971 // CHECK-EL-NAN-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
972 // CHECK-EL-NAN-16R2: "-internal-isystem"
973 // CHECK-EL-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el/nan2008"
974 // CHECK-EL-NAN-16R2: "-internal-isystem"
975 // CHECK-EL-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
976 // CHECK-EL-NAN-16R2: "-internal-externc-isystem"
977 // CHECK-EL-NAN-16R2: "[[TC]]/include"
978 // CHECK-EL-NAN-16R2: "-internal-externc-isystem"
979 // CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/usr/include"
980 // CHECK-EL-NAN-16R2: "{{.*}}ld{{(.exe)?}}"
981 // CHECK-EL-NAN-16R2: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips16/el/nan2008"
982 // CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
983 // CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
984 // CHECK-EL-NAN-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
985 // CHECK-EL-NAN-16R2: "-L[[SR]]/mips16/el/nan2008"
986 // CHECK-EL-NAN-16R2: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el/nan2008"
987 // CHECK-EL-NAN-16R2: "-L[[SR]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib"
988 // CHECK-EL-NAN-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtend.o"
989 // CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
990 //
991 // = Little-endian, mips32r2, nan2008
992 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
993 // RUN:     --target=mipsel-linux-gnu -mips32r2 -mnan=2008 \
994 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
995 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-32R2 %s
996 // CHECK-EL-NAN-32R2: "-internal-isystem"
997 // CHECK-EL-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
998 // CHECK-EL-NAN-32R2: "-internal-isystem"
999 // CHECK-EL-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/nan2008"
1000 // CHECK-EL-NAN-32R2: "-internal-isystem"
1001 // CHECK-EL-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1002 // CHECK-EL-NAN-32R2: "-internal-externc-isystem"
1003 // CHECK-EL-NAN-32R2: "[[TC]]/include"
1004 // CHECK-EL-NAN-32R2: "-internal-externc-isystem"
1005 // CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/usr/include"
1006 // CHECK-EL-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
1007 // CHECK-EL-NAN-32R2: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/el/nan2008"
1008 // CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1009 // CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1010 // CHECK-EL-NAN-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtbegin.o"
1011 // CHECK-EL-NAN-32R2: "-L[[SR]]/el/nan2008"
1012 // CHECK-EL-NAN-32R2: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/el/nan2008"
1013 // CHECK-EL-NAN-32R2: "-L[[SR]]/../../../../sysroot/el/nan2008/usr/lib/../lib"
1014 // CHECK-EL-NAN-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtend.o"
1015 // CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1016 //
1017 // = Little-endian, micromips, hard float
1018 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1019 // RUN:     --target=mipsel-linux-gnu -mmicromips -mhard-float \
1020 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1021 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-MM %s
1022 // CHECK-EL-HF-MM: "-internal-isystem"
1023 // CHECK-EL-HF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1024 // CHECK-EL-HF-MM: "-internal-isystem"
1025 // CHECK-EL-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el"
1026 // CHECK-EL-HF-MM: "-internal-isystem"
1027 // CHECK-EL-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1028 // CHECK-EL-HF-MM: "-internal-externc-isystem"
1029 // CHECK-EL-HF-MM: "[[TC]]/include"
1030 // CHECK-EL-HF-MM: "-internal-externc-isystem"
1031 // CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/usr/include"
1032 // CHECK-EL-HF-MM: "{{.*}}ld{{(.exe)?}}"
1033 // CHECK-EL-HF-MM: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/micromips/el"
1034 // CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1035 // CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crti.o"
1036 // CHECK-EL-HF-MM: "[[TC]]/micromips/el{{/|\\\\}}crtbegin.o"
1037 // CHECK-EL-HF-MM: "-L[[SR]]/micromips/el"
1038 // CHECK-EL-HF-MM: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el"
1039 // CHECK-EL-HF-MM: "-L[[SR]]/../../../../sysroot/micromips/el/usr/lib/../lib"
1040 // CHECK-EL-HF-MM: "[[TC]]/micromips/el{{/|\\\\}}crtend.o"
1041 // CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1042 //
1043 // = Little-endian, micromips, soft float
1044 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1045 // RUN:     --target=mipsel-linux-gnu -mmicromips -msoft-float \
1046 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1047 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-MM %s
1048 // CHECK-EL-SF-MM: "-internal-isystem"
1049 // CHECK-EL-SF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1050 // CHECK-EL-SF-MM: "-internal-isystem"
1051 // CHECK-EL-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el/sof"
1052 // CHECK-EL-SF-MM: "-internal-isystem"
1053 // CHECK-EL-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1054 // CHECK-EL-SF-MM: "-internal-externc-isystem"
1055 // CHECK-EL-SF-MM: "[[TC]]/include"
1056 // CHECK-EL-SF-MM: "-internal-externc-isystem"
1057 // CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/usr/include"
1058 // CHECK-EL-SF-MM: "{{.*}}ld{{(.exe)?}}"
1059 // CHECK-EL-SF-MM: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/micromips/el/sof"
1060 // CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1061 // CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1062 // CHECK-EL-SF-MM: "[[TC]]/micromips/el/sof{{/|\\\\}}crtbegin.o"
1063 // CHECK-EL-SF-MM: "-L[[SR]]/micromips/el/sof"
1064 // CHECK-EL-SF-MM: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el/sof"
1065 // CHECK-EL-SF-MM: "-L[[SR]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib"
1066 // CHECK-EL-SF-MM: "[[TC]]/micromips/el/sof{{/|\\\\}}crtend.o"
1067 // CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1068 //
1069 // = Little-endian, micromips, nan2008
1070 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1071 // RUN:     --target=mipsel-linux-gnu -mmicromips -mnan=2008 \
1072 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1073 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-MM %s
1074 // CHECK-EL-NAN-MM: "-internal-isystem"
1075 // CHECK-EL-NAN-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1076 // CHECK-EL-NAN-MM: "-internal-isystem"
1077 // CHECK-EL-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el/nan2008"
1078 // CHECK-EL-NAN-MM: "-internal-isystem"
1079 // CHECK-EL-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1080 // CHECK-EL-NAN-MM: "-internal-externc-isystem"
1081 // CHECK-EL-NAN-MM: "[[TC]]/include"
1082 // CHECK-EL-NAN-MM: "-internal-externc-isystem"
1083 // CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/usr/include"
1084 // CHECK-EL-NAN-MM: "{{.*}}ld{{(.exe)?}}"
1085 // CHECK-EL-NAN-MM: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/micromips/el/nan2008"
1086 // CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1087 // CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1088 // CHECK-EL-NAN-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtbegin.o"
1089 // CHECK-EL-NAN-MM: "-L[[SR]]/micromips/el/nan2008"
1090 // CHECK-EL-NAN-MM: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el/nan2008"
1091 // CHECK-EL-NAN-MM: "-L[[SR]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib"
1092 // CHECK-EL-NAN-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtend.o"
1093 // CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1094 //
1095 // = Little-endian, mips64, ABI n32, hard float
1096 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1097 // RUN:     --target=mips64el-linux-gnu -mips64 -mabi=n32 -mhard-float \
1098 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1099 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-64-N32 %s
1100 // CHECK-EL-HF-64-N32: "-internal-isystem"
1101 // CHECK-EL-HF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1102 // CHECK-EL-HF-64-N32: "-internal-isystem"
1103 // CHECK-EL-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el"
1104 // CHECK-EL-HF-64-N32: "-internal-isystem"
1105 // CHECK-EL-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1106 // CHECK-EL-HF-64-N32: "-internal-externc-isystem"
1107 // CHECK-EL-HF-64-N32: "[[TC]]/include"
1108 // CHECK-EL-HF-64-N32: "-internal-externc-isystem"
1109 // CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
1110 // CHECK-EL-HF-64-N32: "{{.*}}ld{{(.exe)?}}"
1111 // CHECK-EL-HF-64-N32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64/el"
1112 // CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crt1.o"
1113 // CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crti.o"
1114 // CHECK-EL-HF-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtbegin.o"
1115 // CHECK-EL-HF-64-N32: "-L[[SR]]/mips64/el"
1116 // CHECK-EL-HF-64-N32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64/el"
1117 // CHECK-EL-HF-64-N32: "-L[[SR]]/../../../../sysroot/mips64/el/usr/lib"
1118 // CHECK-EL-HF-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtend.o"
1119 // CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crtn.o"
1120 //
1121 // = Little-endian, mips64, ABI n32, soft float
1122 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1123 // RUN:     --target=mips64el-linux-gnu -mips64 -mabi=n32 -msoft-float \
1124 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1125 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-64-N32 %s
1126 // CHECK-EL-SF-64-N32: "-internal-isystem"
1127 // CHECK-EL-SF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1128 // CHECK-EL-SF-64-N32: "-internal-isystem"
1129 // CHECK-EL-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el/sof"
1130 // CHECK-EL-SF-64-N32: "-internal-isystem"
1131 // CHECK-EL-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1132 // CHECK-EL-SF-64-N32: "-internal-externc-isystem"
1133 // CHECK-EL-SF-64-N32: "[[TC]]/include"
1134 // CHECK-EL-SF-64-N32: "-internal-externc-isystem"
1135 // CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
1136 // CHECK-EL-SF-64-N32: "{{.*}}ld{{(.exe)?}}"
1137 // CHECK-EL-SF-64-N32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64/el/sof"
1138 // CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib{{/|\\\\}}crt1.o"
1139 // CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib{{/|\\\\}}crti.o"
1140 // CHECK-EL-SF-64-N32: "[[TC]]/mips64/el/sof{{/|\\\\}}crtbegin.o"
1141 // CHECK-EL-SF-64-N32: "-L[[SR]]/mips64/el/sof"
1142 // CHECK-EL-SF-64-N32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64/el/sof"
1143 // CHECK-EL-SF-64-N32: "-L[[SR]]/../../../../sysroot/mips64/el/sof/usr/lib"
1144 // CHECK-EL-SF-64-N32: "[[TC]]/mips64/el/sof{{/|\\\\}}crtend.o"
1145 // CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib{{/|\\\\}}crtn.o"
1146 //
1147 // = Little-endian, mips64, ABI n32, nan2008
1148 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1149 // RUN:     --target=mips64el-linux-gnu -mips64 -mabi=n32 -mnan=2008 \
1150 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1151 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-64-N32 %s
1152 // CHECK-EL-NAN-64-N32: "-internal-isystem"
1153 // CHECK-EL-NAN-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1154 // CHECK-EL-NAN-64-N32: "-internal-isystem"
1155 // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el/nan2008"
1156 // CHECK-EL-NAN-64-N32: "-internal-isystem"
1157 // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1158 // CHECK-EL-NAN-64-N32: "-internal-externc-isystem"
1159 // CHECK-EL-NAN-64-N32: "[[TC]]/include"
1160 // CHECK-EL-NAN-64-N32: "-internal-externc-isystem"
1161 // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/usr/include"
1162 // CHECK-EL-NAN-64-N32: "{{.*}}ld{{(.exe)?}}"
1163 // CHECK-EL-NAN-64-N32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64/el/nan2008"
1164 // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
1165 // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
1166 // CHECK-EL-NAN-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtbegin.o"
1167 // CHECK-EL-NAN-64-N32: "-L[[SR]]/mips64/el/nan2008"
1168 // CHECK-EL-NAN-64-N32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64/el/nan2008"
1169 // CHECK-EL-NAN-64-N32: "-L[[SR]]/../../../../sysroot/mips64/el/nan2008/usr/lib"
1170 // CHECK-EL-NAN-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtend.o"
1171 // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
1172 //
1173 // = Little-endian, mips64, ABI 64, hard float
1174 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1175 // RUN:     --target=mips64el-linux-gnu -mips64 -mabi=64 -mhard-float \
1176 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1177 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-64-64 %s
1178 // CHECK-EL-HF-64-64: "-internal-isystem"
1179 // CHECK-EL-HF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1180 // CHECK-EL-HF-64-64: "-internal-isystem"
1181 // CHECK-EL-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el"
1182 // CHECK-EL-HF-64-64: "-internal-isystem"
1183 // CHECK-EL-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1184 // CHECK-EL-HF-64-64: "-internal-externc-isystem"
1185 // CHECK-EL-HF-64-64: "[[TC]]/include"
1186 // CHECK-EL-HF-64-64: "-internal-externc-isystem"
1187 // CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/usr/include"
1188 // CHECK-EL-HF-64-64: "{{.*}}ld{{(.exe)?}}"
1189 // CHECK-EL-HF-64-64: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64/64/el"
1190 // CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crt1.o"
1191 // CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crti.o"
1192 // CHECK-EL-HF-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtbegin.o"
1193 // CHECK-EL-HF-64-64: "-L[[SR]]/mips64/64/el"
1194 // CHECK-EL-HF-64-64: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el"
1195 // CHECK-EL-HF-64-64: "-L[[SR]]/../../../../sysroot/mips64/64/el/usr/lib"
1196 // CHECK-EL-HF-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtend.o"
1197 // CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crtn.o"
1198 //
1199 // = Little-endian, mips64, ABI 64, soft float
1200 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1201 // RUN:     --target=mips64el-linux-gnu -mips64 -mabi=64 -msoft-float \
1202 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1203 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-64-64 %s
1204 // CHECK-EL-SF-64-64: "-internal-isystem"
1205 // CHECK-EL-SF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1206 // CHECK-EL-SF-64-64: "-internal-isystem"
1207 // CHECK-EL-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el/sof"
1208 // CHECK-EL-SF-64-64: "-internal-isystem"
1209 // CHECK-EL-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1210 // CHECK-EL-SF-64-64: "-internal-externc-isystem"
1211 // CHECK-EL-SF-64-64: "[[TC]]/include"
1212 // CHECK-EL-SF-64-64: "-internal-externc-isystem"
1213 // CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/usr/include"
1214 // CHECK-EL-SF-64-64: "{{.*}}ld{{(.exe)?}}"
1215 // CHECK-EL-SF-64-64: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64/64/el/sof"
1216 // CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib{{/|\\\\}}crt1.o"
1217 // CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib{{/|\\\\}}crti.o"
1218 // CHECK-EL-SF-64-64: "[[TC]]/mips64/64/el/sof{{/|\\\\}}crtbegin.o"
1219 // CHECK-EL-SF-64-64: "-L[[SR]]/mips64/64/el/sof"
1220 // CHECK-EL-SF-64-64: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el/sof"
1221 // CHECK-EL-SF-64-64: "-L[[SR]]/../../../../sysroot/mips64/64/el/sof/usr/lib"
1222 // CHECK-EL-SF-64-64: "[[TC]]/mips64/64/el/sof{{/|\\\\}}crtend.o"
1223 // CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib{{/|\\\\}}crtn.o"
1224 //
1225 // = Little-endian, mips64, ABI 64, nan2008
1226 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1227 // RUN:     --target=mips64el-linux-gnu -mips64 -mabi=64 -mnan=2008 \
1228 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1229 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-64-64 %s
1230 // CHECK-EL-NAN-64-64: "-internal-isystem"
1231 // CHECK-EL-NAN-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1232 // CHECK-EL-NAN-64-64: "-internal-isystem"
1233 // CHECK-EL-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el/nan2008"
1234 // CHECK-EL-NAN-64-64: "-internal-isystem"
1235 // CHECK-EL-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1236 // CHECK-EL-NAN-64-64: "-internal-externc-isystem"
1237 // CHECK-EL-NAN-64-64: "[[TC]]/include"
1238 // CHECK-EL-NAN-64-64: "-internal-externc-isystem"
1239 // CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/usr/include"
1240 // CHECK-EL-NAN-64-64: "{{.*}}ld{{(.exe)?}}"
1241 // CHECK-EL-NAN-64-64: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64/64/el/nan2008"
1242 // CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
1243 // CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
1244 // CHECK-EL-NAN-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtbegin.o"
1245 // CHECK-EL-NAN-64-64: "-L[[SR]]/mips64/64/el/nan2008"
1246 // CHECK-EL-NAN-64-64: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el/nan2008"
1247 // CHECK-EL-NAN-64-64: "-L[[SR]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib"
1248 // CHECK-EL-NAN-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtend.o"
1249 // CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
1250 //
1251 // = Little-endian, mips64r2, ABI n32, hard float
1252 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1253 // RUN:     --target=mips64el-linux-gnu -mips64r2 -mabi=n32 -mhard-float \
1254 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1255 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-64R2-N32 %s
1256 // CHECK-EL-HF-64R2-N32: "-internal-isystem"
1257 // CHECK-EL-HF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1258 // CHECK-EL-HF-64R2-N32: "-internal-isystem"
1259 // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el"
1260 // CHECK-EL-HF-64R2-N32: "-internal-isystem"
1261 // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1262 // CHECK-EL-HF-64R2-N32: "-internal-externc-isystem"
1263 // CHECK-EL-HF-64R2-N32: "[[TC]]/include"
1264 // CHECK-EL-HF-64R2-N32: "-internal-externc-isystem"
1265 // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1266 // CHECK-EL-HF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
1267 // CHECK-EL-HF-64R2-N32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64r2/el"
1268 // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crt1.o"
1269 // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crti.o"
1270 // CHECK-EL-HF-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtbegin.o"
1271 // CHECK-EL-HF-64R2-N32: "-L[[SR]]/mips64r2/el"
1272 // CHECK-EL-HF-64R2-N32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el"
1273 // CHECK-EL-HF-64R2-N32: "-L[[SR]]/../../../../sysroot/mips64r2/el/usr/lib"
1274 // CHECK-EL-HF-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtend.o"
1275 // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crtn.o"
1276 //
1277 // = Little-endian, mips64r2, ABI n32, soft float
1278 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1279 // RUN:     --target=mips64el-linux-gnu -mips64r2 -mabi=n32 -msoft-float \
1280 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1281 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-64R2-N32 %s
1282 // CHECK-EL-SF-64R2-N32: "-internal-isystem"
1283 // CHECK-EL-SF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1284 // CHECK-EL-SF-64R2-N32: "-internal-isystem"
1285 // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el/sof"
1286 // CHECK-EL-SF-64R2-N32: "-internal-isystem"
1287 // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1288 // CHECK-EL-SF-64R2-N32: "-internal-externc-isystem"
1289 // CHECK-EL-SF-64R2-N32: "[[TC]]/include"
1290 // CHECK-EL-SF-64R2-N32: "-internal-externc-isystem"
1291 // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1292 // CHECK-EL-SF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
1293 // CHECK-EL-SF-64R2-N32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64r2/el/sof"
1294 // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib{{/|\\\\}}crt1.o"
1295 // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib{{/|\\\\}}crti.o"
1296 // CHECK-EL-SF-64R2-N32: "[[TC]]/mips64r2/el/sof{{/|\\\\}}crtbegin.o"
1297 // CHECK-EL-SF-64R2-N32: "-L[[SR]]/mips64r2/el/sof"
1298 // CHECK-EL-SF-64R2-N32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el/sof"
1299 // CHECK-EL-SF-64R2-N32: "-L[[SR]]/../../../../sysroot/mips64r2/el/sof/usr/lib"
1300 // CHECK-EL-SF-64R2-N32: "[[TC]]/mips64r2/el/sof{{/|\\\\}}crtend.o"
1301 // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib{{/|\\\\}}crtn.o"
1302 //
1303 // = Little-endian, mips64r2, ABI n32, nan2008
1304 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1305 // RUN:     --target=mips64el-linux-gnu -mips64r2 -mabi=n32 -mnan=2008 \
1306 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1307 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-64R2-N32 %s
1308 // CHECK-EL-NAN-64R2-N32: "-internal-isystem"
1309 // CHECK-EL-NAN-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1310 // CHECK-EL-NAN-64R2-N32: "-internal-isystem"
1311 // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el/nan2008"
1312 // CHECK-EL-NAN-64R2-N32: "-internal-isystem"
1313 // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1314 // CHECK-EL-NAN-64R2-N32: "-internal-externc-isystem"
1315 // CHECK-EL-NAN-64R2-N32: "[[TC]]/include"
1316 // CHECK-EL-NAN-64R2-N32: "-internal-externc-isystem"
1317 // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1318 // CHECK-EL-NAN-64R2-N32: "{{.*}}ld{{(.exe)?}}"
1319 // CHECK-EL-NAN-64R2-N32: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64r2/el/nan2008"
1320 // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
1321 // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crti.o"
1322 // CHECK-EL-NAN-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtbegin.o"
1323 // CHECK-EL-NAN-64R2-N32: "-L[[SR]]/mips64r2/el/nan2008"
1324 // CHECK-EL-NAN-64R2-N32: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el/nan2008"
1325 // CHECK-EL-NAN-64R2-N32: "-L[[SR]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib"
1326 // CHECK-EL-NAN-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtend.o"
1327 // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
1328 //
1329 // = Little-endian, mips64r2, ABI 64, hard float
1330 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1331 // RUN:     --target=mips64el-linux-gnu -mips64r2 -mabi=64 -mhard-float \
1332 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1333 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-64R2-64 %s
1334 // CHECK-EL-HF-64R2-64: "-internal-isystem"
1335 // CHECK-EL-HF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1336 // CHECK-EL-HF-64R2-64: "-internal-isystem"
1337 // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el"
1338 // CHECK-EL-HF-64R2-64: "-internal-isystem"
1339 // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1340 // CHECK-EL-HF-64R2-64: "-internal-externc-isystem"
1341 // CHECK-EL-HF-64R2-64: "[[TC]]/include"
1342 // CHECK-EL-HF-64R2-64: "-internal-externc-isystem"
1343 // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1344 // CHECK-EL-HF-64R2-64: "{{.*}}ld{{(.exe)?}}"
1345 // CHECK-EL-HF-64R2-64: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64r2/64/el"
1346 // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crt1.o"
1347 // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crti.o"
1348 // CHECK-EL-HF-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtbegin.o"
1349 // CHECK-EL-HF-64R2-64: "-L[[SR]]/mips64r2/64/el"
1350 // CHECK-EL-HF-64R2-64: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el"
1351 // CHECK-EL-HF-64R2-64: "-L[[SR]]/../../../../sysroot/mips64r2/64/el/usr/lib"
1352 // CHECK-EL-HF-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtend.o"
1353 // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crtn.o"
1354 //
1355 // = Little-endian, mips64r2, ABI 64, soft float
1356 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1357 // RUN:     --target=mips64el-linux-gnu -mips64r2 -mabi=64 -msoft-float \
1358 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1359 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-64R2-64 %s
1360 // CHECK-EL-SF-64R2-64: "-internal-isystem"
1361 // CHECK-EL-SF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1362 // CHECK-EL-SF-64R2-64: "-internal-isystem"
1363 // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/sof"
1364 // CHECK-EL-SF-64R2-64: "-internal-isystem"
1365 // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1366 // CHECK-EL-SF-64R2-64: "-internal-externc-isystem"
1367 // CHECK-EL-SF-64R2-64: "[[TC]]/include"
1368 // CHECK-EL-SF-64R2-64: "-internal-externc-isystem"
1369 // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1370 // CHECK-EL-SF-64R2-64: "{{.*}}ld{{(.exe)?}}"
1371 // CHECK-EL-SF-64R2-64: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64r2/64/el/sof"
1372 // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib{{/|\\\\}}crt1.o"
1373 // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib{{/|\\\\}}crti.o"
1374 // CHECK-EL-SF-64R2-64: "[[TC]]/mips64r2/64/el/sof{{/|\\\\}}crtbegin.o"
1375 // CHECK-EL-SF-64R2-64: "-L[[SR]]/mips64r2/64/el/sof"
1376 // CHECK-EL-SF-64R2-64: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/sof"
1377 // CHECK-EL-SF-64R2-64: "-L[[SR]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib"
1378 // CHECK-EL-SF-64R2-64: "[[TC]]/mips64r2/64/el/sof{{/|\\\\}}crtend.o"
1379 // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib{{/|\\\\}}crtn.o"
1380 //
1381 // = Little-endian, mips64r2, ABI 64, nan2008
1382 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1383 // RUN:     --target=mips64el-linux-gnu -mips64r2 -mabi=64 -mnan=2008 \
1384 // RUN:     --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1385 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-64R2-64 %s
1386 // CHECK-EL-NAN-64R2-64: "-internal-isystem"
1387 // CHECK-EL-NAN-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1388 // CHECK-EL-NAN-64R2-64: "-internal-isystem"
1389 // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/nan2008"
1390 // CHECK-EL-NAN-64R2-64: "-internal-isystem"
1391 // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1392 // CHECK-EL-NAN-64R2-64: "-internal-externc-isystem"
1393 // CHECK-EL-NAN-64R2-64: "[[TC]]/include"
1394 // CHECK-EL-NAN-64R2-64: "-internal-externc-isystem"
1395 // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1396 // CHECK-EL-NAN-64R2-64: "{{.*}}ld{{(.exe)?}}"
1397 // CHECK-EL-NAN-64R2-64: "--sysroot=[[SR:[^"]+]]/../../../../sysroot/mips64r2/64/el/nan2008"
1398 // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
1399 // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
1400 // CHECK-EL-NAN-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtbegin.o"
1401 // CHECK-EL-NAN-64R2-64: "-L[[SR]]/mips64r2/64/el/nan2008"
1402 // CHECK-EL-NAN-64R2-64: "-L[[SR]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/nan2008"
1403 // CHECK-EL-NAN-64R2-64: "-L[[SR]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib"
1404 // CHECK-EL-NAN-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtend.o"
1405 // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
1406