1 // REQUIRES: mips-registered-target
2 
3 // Check frontend and linker invocations on FSF MIPS toolchain.
4 //
5 // = Big-endian, mips32, hard float
6 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
7 // RUN:     --target=mips-mti-linux-gnu -mips32 -mhard-float \
8 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
9 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-32 %s
10 // CHECK-BE-HF-32: "-internal-isystem"
11 // CHECK-BE-HF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
12 // CHECK-BE-HF-32: "-internal-isystem"
13 // CHECK-BE-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32"
14 // CHECK-BE-HF-32: "-internal-isystem"
15 // CHECK-BE-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
16 // CHECK-BE-HF-32: "-internal-externc-isystem"
17 // CHECK-BE-HF-32: "[[TC]]/include"
18 // CHECK-BE-HF-32: "-internal-externc-isystem"
19 // CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/usr/include"
20 // CHECK-BE-HF-32: "{{.*}}ld{{(.exe)?}}"
21 // CHECK-BE-HF-32: "--sysroot=[[TC]]/../../../../sysroot/mips32"
22 // CHECK-BE-HF-32: "-dynamic-linker" "/lib/ld.so.1"
23 // CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crt1.o"
24 // CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crti.o"
25 // CHECK-BE-HF-32: "[[TC]]/mips32{{/|\\\\}}crtbegin.o"
26 // CHECK-BE-HF-32: "-L[[TC]]/mips32"
27 // CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32"
28 // CHECK-BE-HF-32: "-L[[TC]]/../../../../sysroot/mips32/usr/lib/../lib"
29 // CHECK-BE-HF-32: "[[TC]]/mips32{{/|\\\\}}crtend.o"
30 // CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crtn.o"
31 //
32 // = Big-endian, mips32, hard float, fp64
33 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
34 // RUN:     --target=mips-mti-linux-gnu -mips32 -mfp64 -mhard-float \
35 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
36 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-32 %s
37 // CHECK-BE-HF64-32: "-internal-isystem"
38 // CHECK-BE-HF64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
39 // CHECK-BE-HF64-32: "-internal-isystem"
40 // CHECK-BE-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32"
41 // CHECK-BE-HF64-32: "-internal-isystem"
42 // CHECK-BE-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
43 // CHECK-BE-HF64-32: "-internal-externc-isystem"
44 // CHECK-BE-HF64-32: "[[TC]]/include"
45 // CHECK-BE-HF64-32: "-internal-externc-isystem"
46 // CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/usr/include"
47 // CHECK-BE-HF64-32: "{{.*}}ld{{(.exe)?}}"
48 // CHECK-BE-HF64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32"
49 // CHECK-BE-HF64-32: "-dynamic-linker" "/lib/ld.so.1"
50 // CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crt1.o"
51 // CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crti.o"
52 // CHECK-BE-HF64-32: "[[TC]]/mips32{{/|\\\\}}crtbegin.o"
53 // CHECK-BE-HF64-32: "-L[[TC]]/mips32"
54 // CHECK-BE-HF64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32"
55 // CHECK-BE-HF64-32: "-L[[TC]]/../../../../sysroot/mips32/usr/lib/../lib"
56 // CHECK-BE-HF64-32: "[[TC]]/mips32{{/|\\\\}}crtend.o"
57 // CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crtn.o"
58 //
59 // = Big-endian, mips32, soft float
60 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
61 // RUN:     --target=mips-mti-linux-gnu -mips32 -msoft-float \
62 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
63 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-32 %s
64 // CHECK-BE-SF-32: "-internal-isystem"
65 // CHECK-BE-SF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
66 // CHECK-BE-SF-32: "-internal-isystem"
67 // CHECK-BE-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/sof"
68 // CHECK-BE-SF-32: "-internal-isystem"
69 // CHECK-BE-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
70 // CHECK-BE-SF-32: "-internal-externc-isystem"
71 // CHECK-BE-SF-32: "[[TC]]/include"
72 // CHECK-BE-SF-32: "-internal-externc-isystem"
73 // CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/usr/include"
74 // CHECK-BE-SF-32: "{{.*}}ld{{(.exe)?}}"
75 // CHECK-BE-SF-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/sof"
76 // CHECK-BE-SF-32: "-dynamic-linker" "/lib/ld.so.1"
77 // CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
78 // CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib{{/|\\\\}}crti.o"
79 // CHECK-BE-SF-32: "[[TC]]/mips32/sof{{/|\\\\}}crtbegin.o"
80 // CHECK-BE-SF-32: "-L[[TC]]/mips32/sof"
81 // CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/sof"
82 // CHECK-BE-SF-32: "-L[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib"
83 // CHECK-BE-SF-32: "[[TC]]/mips32/sof{{/|\\\\}}crtend.o"
84 // CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
85 //
86 // = Big-endian, mips16 / mips32, hard float
87 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
88 // RUN:     --target=mips-mti-linux-gnu -mips32 -mips16 -mhard-float \
89 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
90 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-16 %s
91 // CHECK-BE-HF-16: "-internal-isystem"
92 // CHECK-BE-HF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
93 // CHECK-BE-HF-16: "-internal-isystem"
94 // CHECK-BE-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16"
95 // CHECK-BE-HF-16: "-internal-isystem"
96 // CHECK-BE-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
97 // CHECK-BE-HF-16: "-internal-externc-isystem"
98 // CHECK-BE-HF-16: "[[TC]]/include"
99 // CHECK-BE-HF-16: "-internal-externc-isystem"
100 // CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/usr/include"
101 // CHECK-BE-HF-16: "{{.*}}ld{{(.exe)?}}"
102 // CHECK-BE-HF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16"
103 // CHECK-BE-HF-16: "-dynamic-linker" "/lib/ld.so.1"
104 // CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
105 // CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
106 // CHECK-BE-HF-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtbegin.o"
107 // CHECK-BE-HF-16: "-L[[TC]]/mips32/mips16"
108 // CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16"
109 // CHECK-BE-HF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib"
110 // CHECK-BE-HF-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtend.o"
111 // CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
112 //
113 // = Big-endian, mips16 / mips32, hard float, fp64
114 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
115 // RUN:     --target=mips-mti-linux-gnu -mips32 -mips16 -mfp64 -mhard-float \
116 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
117 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-16 %s
118 // CHECK-BE-HF64-16: "-internal-isystem"
119 // CHECK-BE-HF64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
120 // CHECK-BE-HF64-16: "-internal-isystem"
121 // CHECK-BE-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16"
122 // CHECK-BE-HF64-16: "-internal-isystem"
123 // CHECK-BE-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
124 // CHECK-BE-HF64-16: "-internal-externc-isystem"
125 // CHECK-BE-HF64-16: "[[TC]]/include"
126 // CHECK-BE-HF64-16: "-internal-externc-isystem"
127 // CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/usr/include"
128 // CHECK-BE-HF64-16: "{{.*}}ld{{(.exe)?}}"
129 // CHECK-BE-HF64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16"
130 // CHECK-BE-HF64-16: "-dynamic-linker" "/lib/ld.so.1"
131 // CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
132 // CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
133 // CHECK-BE-HF64-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtbegin.o"
134 // CHECK-BE-HF64-16: "-L[[TC]]/mips32/mips16"
135 // CHECK-BE-HF64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16"
136 // CHECK-BE-HF64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib"
137 // CHECK-BE-HF64-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtend.o"
138 // CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
139 //
140 // = Big-endian, mips16 / mips32, soft float
141 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
142 // RUN:     --target=mips-mti-linux-gnu -mips32 -mips16 -msoft-float \
143 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
144 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-16 %s
145 // CHECK-BE-SF-16: "-internal-isystem"
146 // CHECK-BE-SF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
147 // CHECK-BE-SF-16: "-internal-isystem"
148 // CHECK-BE-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/sof"
149 // CHECK-BE-SF-16: "-internal-isystem"
150 // CHECK-BE-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
151 // CHECK-BE-SF-16: "-internal-externc-isystem"
152 // CHECK-BE-SF-16: "[[TC]]/include"
153 // CHECK-BE-SF-16: "-internal-externc-isystem"
154 // CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/usr/include"
155 // CHECK-BE-SF-16: "{{.*}}ld{{(.exe)?}}"
156 // CHECK-BE-SF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/sof"
157 // CHECK-BE-SF-16: "-dynamic-linker" "/lib/ld.so.1"
158 // CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
159 // CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib{{/|\\\\}}crti.o"
160 // CHECK-BE-SF-16: "[[TC]]/mips32/mips16/sof{{/|\\\\}}crtbegin.o"
161 // CHECK-BE-SF-16: "-L[[TC]]/mips32/mips16/sof"
162 // CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/sof"
163 // CHECK-BE-SF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib"
164 // CHECK-BE-SF-16: "[[TC]]/mips32/mips16/sof{{/|\\\\}}crtend.o"
165 // CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
166 //
167 // = Big-endian, mips32 / mips16, nan2008
168 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
169 // RUN:     --target=mips-mti-linux-gnu -mips32 -mips16 -mnan=2008 \
170 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
171 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-16 %s
172 // CHECK-BE-NAN-16: "-internal-isystem"
173 // CHECK-BE-NAN-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
174 // CHECK-BE-NAN-16: "-internal-isystem"
175 // CHECK-BE-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/nan2008"
176 // CHECK-BE-NAN-16: "-internal-isystem"
177 // CHECK-BE-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
178 // CHECK-BE-NAN-16: "-internal-externc-isystem"
179 // CHECK-BE-NAN-16: "[[TC]]/include"
180 // CHECK-BE-NAN-16: "-internal-externc-isystem"
181 // CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/usr/include"
182 // CHECK-BE-NAN-16: "{{.*}}ld{{(.exe)?}}"
183 // CHECK-BE-NAN-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/nan2008"
184 // CHECK-BE-NAN-16: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
185 // CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
186 // CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
187 // CHECK-BE-NAN-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtbegin.o"
188 // CHECK-BE-NAN-16: "-L[[TC]]/mips32/mips16/nan2008"
189 // CHECK-BE-NAN-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/nan2008"
190 // CHECK-BE-NAN-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib"
191 // CHECK-BE-NAN-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtend.o"
192 // CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
193 //
194 // = Big-endian, mips32 / mips16, fp64, nan2008
195 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
196 // RUN:     --target=mips-mti-linux-gnu -mips32 -mips16 -mfp64 -mnan=2008 \
197 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
198 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-16 %s
199 // CHECK-BE-NAN64-16: "-internal-isystem"
200 // CHECK-BE-NAN64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
201 // CHECK-BE-NAN64-16: "-internal-isystem"
202 // CHECK-BE-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/nan2008"
203 // CHECK-BE-NAN64-16: "-internal-isystem"
204 // CHECK-BE-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
205 // CHECK-BE-NAN64-16: "-internal-externc-isystem"
206 // CHECK-BE-NAN64-16: "[[TC]]/include"
207 // CHECK-BE-NAN64-16: "-internal-externc-isystem"
208 // CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/usr/include"
209 // CHECK-BE-NAN64-16: "{{.*}}ld{{(.exe)?}}"
210 // CHECK-BE-NAN64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/nan2008"
211 // CHECK-BE-NAN64-16: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
212 // CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
213 // CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
214 // CHECK-BE-NAN64-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtbegin.o"
215 // CHECK-BE-NAN64-16: "-L[[TC]]/mips32/mips16/nan2008"
216 // CHECK-BE-NAN64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/nan2008"
217 // CHECK-BE-NAN64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib"
218 // CHECK-BE-NAN64-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtend.o"
219 // CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
220 //
221 // = Big-endian, mips32, nan2008
222 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
223 // RUN:     --target=mips-mti-linux-gnu -mips32 -mnan=2008 \
224 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
225 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-32 %s
226 // CHECK-BE-NAN-32: "-internal-isystem"
227 // CHECK-BE-NAN-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
228 // CHECK-BE-NAN-32: "-internal-isystem"
229 // CHECK-BE-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/nan2008"
230 // CHECK-BE-NAN-32: "-internal-isystem"
231 // CHECK-BE-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
232 // CHECK-BE-NAN-32: "-internal-externc-isystem"
233 // CHECK-BE-NAN-32: "[[TC]]/include"
234 // CHECK-BE-NAN-32: "-internal-externc-isystem"
235 // CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/usr/include"
236 // CHECK-BE-NAN-32: "{{.*}}ld{{(.exe)?}}"
237 // CHECK-BE-NAN-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/nan2008"
238 // CHECK-BE-NAN-32: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
239 // CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
240 // CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
241 // CHECK-BE-NAN-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtbegin.o"
242 // CHECK-BE-NAN-32: "-L[[TC]]/mips32/nan2008"
243 // CHECK-BE-NAN-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/nan2008"
244 // CHECK-BE-NAN-32: "-L[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib"
245 // CHECK-BE-NAN-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtend.o"
246 // CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
247 //
248 // = Big-endian, mips32, fp64, nan2008
249 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
250 // RUN:     --target=mips-mti-linux-gnu -mips32 -mfp64 -mnan=2008 \
251 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
252 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-32 %s
253 // CHECK-BE-NAN64-32: "-internal-isystem"
254 // CHECK-BE-NAN64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
255 // CHECK-BE-NAN64-32: "-internal-isystem"
256 // CHECK-BE-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/nan2008"
257 // CHECK-BE-NAN64-32: "-internal-isystem"
258 // CHECK-BE-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
259 // CHECK-BE-NAN64-32: "-internal-externc-isystem"
260 // CHECK-BE-NAN64-32: "[[TC]]/include"
261 // CHECK-BE-NAN64-32: "-internal-externc-isystem"
262 // CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/usr/include"
263 // CHECK-BE-NAN64-32: "{{.*}}ld{{(.exe)?}}"
264 // CHECK-BE-NAN64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/nan2008"
265 // CHECK-BE-NAN64-32: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
266 // CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
267 // CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
268 // CHECK-BE-NAN64-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtbegin.o"
269 // CHECK-BE-NAN64-32: "-L[[TC]]/mips32/nan2008"
270 // CHECK-BE-NAN64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/nan2008"
271 // CHECK-BE-NAN64-32: "-L[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib"
272 // CHECK-BE-NAN64-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtend.o"
273 // CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
274 //
275 // = Big-endian, mips32r2, hard float
276 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
277 // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mhard-float \
278 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
279 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-32R2 %s
280 // CHECK-BE-HF-32R2: "-internal-isystem"
281 // CHECK-BE-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
282 // CHECK-BE-HF-32R2: "-internal-isystem"
283 // CHECK-BE-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu"
284 // CHECK-BE-HF-32R2: "-internal-isystem"
285 // CHECK-BE-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
286 // CHECK-BE-HF-32R2: "-internal-externc-isystem"
287 // CHECK-BE-HF-32R2: "[[TC]]/include"
288 // CHECK-BE-HF-32R2: "-internal-externc-isystem"
289 // CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/include"
290 // CHECK-BE-HF-32R2: "{{.*}}ld{{(.exe)?}}"
291 // CHECK-BE-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot"
292 // CHECK-BE-HF-32R2: "-dynamic-linker" "/lib/ld.so.1"
293 // CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crt1.o"
294 // CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crti.o"
295 // CHECK-BE-HF-32R2: "[[TC]]{{/|\\\\}}crtbegin.o"
296 // CHECK-BE-HF-32R2: "-L[[TC]]"
297 // CHECK-BE-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib"
298 // CHECK-BE-HF-32R2: "-L[[TC]]/../../../../sysroot/usr/lib/../lib"
299 // CHECK-BE-HF-32R2: "[[TC]]{{/|\\\\}}crtend.o"
300 // CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crtn.o"
301 //
302 // = Big-endian, mips32r2, hard float, uclibc
303 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
304 // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mhard-float -muclibc \
305 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
306 // RUN:   | FileCheck --check-prefix=CHECK-BE-UC-HF-32R2 %s
307 // CHECK-BE-UC-HF-32R2: "-internal-isystem"
308 // CHECK-BE-UC-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
309 // CHECK-BE-UC-HF-32R2: "-internal-isystem"
310 // CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc"
311 // CHECK-BE-UC-HF-32R2: "-internal-isystem"
312 // CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
313 // CHECK-BE-UC-HF-32R2: "-internal-externc-isystem"
314 // CHECK-BE-UC-HF-32R2: "[[TC]]/include"
315 // CHECK-BE-UC-HF-32R2: "-internal-externc-isystem"
316 // CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
317 // CHECK-BE-UC-HF-32R2: "{{.*}}ld{{(.exe)?}}"
318 // CHECK-BE-UC-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc"
319 // CHECK-BE-UC-HF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
320 // CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib{{/|\\\\}}crt1.o"
321 // CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib{{/|\\\\}}crti.o"
322 // CHECK-BE-UC-HF-32R2: "[[TC]]/uclibc{{/|\\\\}}crtbegin.o"
323 // CHECK-BE-UC-HF-32R2: "-L[[TC]]/uclibc"
324 // CHECK-BE-UC-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc"
325 // CHECK-BE-UC-HF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib"
326 // CHECK-BE-UC-HF-32R2: "[[TC]]/uclibc{{/|\\\\}}crtend.o"
327 // CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib{{/|\\\\}}crtn.o"
328 //
329 // = Big-endian, mips32r2, fp64, hard float
330 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
331 // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mfp64 -mhard-float \
332 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
333 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-32R2 %s
334 // CHECK-BE-HF64-32R2: "-internal-isystem"
335 // CHECK-BE-HF64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
336 // CHECK-BE-HF64-32R2: "-internal-isystem"
337 // CHECK-BE-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu"
338 // CHECK-BE-HF64-32R2: "-internal-isystem"
339 // CHECK-BE-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
340 // CHECK-BE-HF64-32R2: "-internal-externc-isystem"
341 // CHECK-BE-HF64-32R2: "[[TC]]/include"
342 // CHECK-BE-HF64-32R2: "-internal-externc-isystem"
343 // CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/usr/include"
344 // CHECK-BE-HF64-32R2: "{{.*}}ld{{(.exe)?}}"
345 // CHECK-BE-HF64-32R2: "--sysroot=[[TC]]/../../../../sysroot"
346 // CHECK-BE-HF64-32R2: "-dynamic-linker" "/lib/ld.so.1"
347 // CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crt1.o"
348 // CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crti.o"
349 // CHECK-BE-HF64-32R2: "[[TC]]{{/|\\\\}}crtbegin.o"
350 // CHECK-BE-HF64-32R2: "-L[[TC]]"
351 // CHECK-BE-HF64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib"
352 // CHECK-BE-HF64-32R2: "-L[[TC]]/../../../../sysroot/usr/lib/../lib"
353 // CHECK-BE-HF64-32R2: "[[TC]]{{/|\\\\}}crtend.o"
354 // CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crtn.o"
355 //
356 // = Big-endian, mips32r2, soft float
357 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
358 // RUN:     --target=mips-mti-linux-gnu -mips32r2 -msoft-float \
359 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
360 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-32R2 %s
361 // CHECK-BE-SF-32R2: "-internal-isystem"
362 // CHECK-BE-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
363 // CHECK-BE-SF-32R2: "-internal-isystem"
364 // CHECK-BE-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/sof"
365 // CHECK-BE-SF-32R2: "-internal-isystem"
366 // CHECK-BE-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
367 // CHECK-BE-SF-32R2: "-internal-externc-isystem"
368 // CHECK-BE-SF-32R2: "[[TC]]/include"
369 // CHECK-BE-SF-32R2: "-internal-externc-isystem"
370 // CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/usr/include"
371 // CHECK-BE-SF-32R2: "{{.*}}ld{{(.exe)?}}"
372 // CHECK-BE-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/sof"
373 // CHECK-BE-SF-32R2: "-dynamic-linker" "/lib/ld.so.1"
374 // CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
375 // CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crti.o"
376 // CHECK-BE-SF-32R2: "[[TC]]/sof{{/|\\\\}}crtbegin.o"
377 // CHECK-BE-SF-32R2: "-L[[TC]]/sof"
378 // CHECK-BE-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/sof"
379 // CHECK-BE-SF-32R2: "-L[[TC]]/../../../../sysroot/sof/usr/lib/../lib"
380 // CHECK-BE-SF-32R2: "[[TC]]/sof{{/|\\\\}}crtend.o"
381 // CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
382 //
383 // = Big-endian, mips32r2, soft float, uclibc
384 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
385 // RUN:     --target=mips-mti-linux-gnu -mips32r2 -msoft-float -muclibc \
386 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
387 // RUN:   | FileCheck --check-prefix=CHECK-BE-UC-SF-32R2 %s
388 // CHECK-BE-UC-SF-32R2: "-internal-isystem"
389 // CHECK-BE-UC-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
390 // CHECK-BE-UC-SF-32R2: "-internal-isystem"
391 // CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/sof"
392 // CHECK-BE-UC-SF-32R2: "-internal-isystem"
393 // CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
394 // CHECK-BE-UC-SF-32R2: "-internal-externc-isystem"
395 // CHECK-BE-UC-SF-32R2: "[[TC]]/include"
396 // CHECK-BE-UC-SF-32R2: "-internal-externc-isystem"
397 // CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
398 // CHECK-BE-UC-SF-32R2: "{{.*}}ld{{(.exe)?}}"
399 // CHECK-BE-UC-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/sof"
400 // CHECK-BE-UC-SF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
401 // CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
402 // CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib{{/|\\\\}}crti.o"
403 // CHECK-BE-UC-SF-32R2: "[[TC]]/uclibc/sof{{/|\\\\}}crtbegin.o"
404 // CHECK-BE-UC-SF-32R2: "-L[[TC]]/uclibc/sof"
405 // CHECK-BE-UC-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/sof"
406 // CHECK-BE-UC-SF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib"
407 // CHECK-BE-UC-SF-32R2: "[[TC]]/uclibc/sof{{/|\\\\}}crtend.o"
408 // CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
409 //
410 // = Big-endian, mips32r2 / mips16, hard float
411 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
412 // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mips16 -mhard-float \
413 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
414 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-16R2 %s
415 // CHECK-BE-HF-16R2: "-internal-isystem"
416 // CHECK-BE-HF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
417 // CHECK-BE-HF-16R2: "-internal-isystem"
418 // CHECK-BE-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16"
419 // CHECK-BE-HF-16R2: "-internal-isystem"
420 // CHECK-BE-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
421 // CHECK-BE-HF-16R2: "-internal-externc-isystem"
422 // CHECK-BE-HF-16R2: "[[TC]]/include"
423 // CHECK-BE-HF-16R2: "-internal-externc-isystem"
424 // CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/usr/include"
425 // CHECK-BE-HF-16R2: "{{.*}}ld{{(.exe)?}}"
426 // CHECK-BE-HF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16"
427 // CHECK-BE-HF-16R2: "-dynamic-linker" "/lib/ld.so.1"
428 // CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
429 // CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
430 // CHECK-BE-HF-16R2: "[[TC]]/mips16{{/|\\\\}}crtbegin.o"
431 // CHECK-BE-HF-16R2: "-L[[TC]]/mips16"
432 // CHECK-BE-HF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16"
433 // CHECK-BE-HF-16R2: "-L[[TC]]/../../../../sysroot/mips16/usr/lib/../lib"
434 // CHECK-BE-HF-16R2: "[[TC]]/mips16{{/|\\\\}}crtend.o"
435 // CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
436 //
437 // = Big-endian, mips32r2 / mips16, fp64, hard float
438 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
439 // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mips16 -mfp64 -mhard-float \
440 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
441 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-16R2 %s
442 // CHECK-BE-HF64-16R2: "-internal-isystem"
443 // CHECK-BE-HF64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
444 // CHECK-BE-HF64-16R2: "-internal-isystem"
445 // CHECK-BE-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16"
446 // CHECK-BE-HF64-16R2: "-internal-isystem"
447 // CHECK-BE-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
448 // CHECK-BE-HF64-16R2: "-internal-externc-isystem"
449 // CHECK-BE-HF64-16R2: "[[TC]]/include"
450 // CHECK-BE-HF64-16R2: "-internal-externc-isystem"
451 // CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/usr/include"
452 // CHECK-BE-HF64-16R2: "{{.*}}ld{{(.exe)?}}"
453 // CHECK-BE-HF64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16"
454 // CHECK-BE-HF64-16R2: "-dynamic-linker" "/lib/ld.so.1"
455 // CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
456 // CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
457 // CHECK-BE-HF64-16R2: "[[TC]]/mips16{{/|\\\\}}crtbegin.o"
458 // CHECK-BE-HF64-16R2: "-L[[TC]]/mips16"
459 // CHECK-BE-HF64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16"
460 // CHECK-BE-HF64-16R2: "-L[[TC]]/../../../../sysroot/mips16/usr/lib/../lib"
461 // CHECK-BE-HF64-16R2: "[[TC]]/mips16{{/|\\\\}}crtend.o"
462 // CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
463 //
464 // = Big-endian, mips32r2 / mips16, soft float
465 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
466 // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mips16 -msoft-float \
467 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
468 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-16R2 %s
469 // CHECK-BE-SF-16R2: "-internal-isystem"
470 // CHECK-BE-SF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
471 // CHECK-BE-SF-16R2: "-internal-isystem"
472 // CHECK-BE-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/sof"
473 // CHECK-BE-SF-16R2: "-internal-isystem"
474 // CHECK-BE-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
475 // CHECK-BE-SF-16R2: "-internal-externc-isystem"
476 // CHECK-BE-SF-16R2: "[[TC]]/include"
477 // CHECK-BE-SF-16R2: "-internal-externc-isystem"
478 // CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/usr/include"
479 // CHECK-BE-SF-16R2: "{{.*}}ld{{(.exe)?}}"
480 // CHECK-BE-SF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/sof"
481 // CHECK-BE-SF-16R2: "-dynamic-linker" "/lib/ld.so.1"
482 // CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
483 // CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib{{/|\\\\}}crti.o"
484 // CHECK-BE-SF-16R2: "[[TC]]/mips16/sof{{/|\\\\}}crtbegin.o"
485 // CHECK-BE-SF-16R2: "-L[[TC]]/mips16/sof"
486 // CHECK-BE-SF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/sof"
487 // CHECK-BE-SF-16R2: "-L[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib"
488 // CHECK-BE-SF-16R2: "[[TC]]/mips16/sof{{/|\\\\}}crtend.o"
489 // CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
490 //
491 // = Big-endian, mips32r2 / mips16, nan2008
492 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
493 // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mips16 -mnan=2008 \
494 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
495 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-16R2 %s
496 // CHECK-BE-NAN-16R2: "-internal-isystem"
497 // CHECK-BE-NAN-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
498 // CHECK-BE-NAN-16R2: "-internal-isystem"
499 // CHECK-BE-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/nan2008"
500 // CHECK-BE-NAN-16R2: "-internal-isystem"
501 // CHECK-BE-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
502 // CHECK-BE-NAN-16R2: "-internal-externc-isystem"
503 // CHECK-BE-NAN-16R2: "[[TC]]/include"
504 // CHECK-BE-NAN-16R2: "-internal-externc-isystem"
505 // CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/usr/include"
506 // CHECK-BE-NAN-16R2: "{{.*}}ld{{(.exe)?}}"
507 // CHECK-BE-NAN-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/nan2008"
508 // CHECK-BE-NAN-16R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
509 // CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
510 // CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
511 // CHECK-BE-NAN-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtbegin.o"
512 // CHECK-BE-NAN-16R2: "-L[[TC]]/mips16/nan2008"
513 // CHECK-BE-NAN-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/nan2008"
514 // CHECK-BE-NAN-16R2: "-L[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib"
515 // CHECK-BE-NAN-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtend.o"
516 // CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
517 //
518 // = Big-endian, mips32r2 / mips16, fp64, nan2008
519 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
520 // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mips16 -mfp64 -mnan=2008 \
521 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
522 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-16R2 %s
523 // CHECK-BE-NAN64-16R2: "-internal-isystem"
524 // CHECK-BE-NAN64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
525 // CHECK-BE-NAN64-16R2: "-internal-isystem"
526 // CHECK-BE-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/nan2008"
527 // CHECK-BE-NAN64-16R2: "-internal-isystem"
528 // CHECK-BE-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
529 // CHECK-BE-NAN64-16R2: "-internal-externc-isystem"
530 // CHECK-BE-NAN64-16R2: "[[TC]]/include"
531 // CHECK-BE-NAN64-16R2: "-internal-externc-isystem"
532 // CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/usr/include"
533 // CHECK-BE-NAN64-16R2: "{{.*}}ld{{(.exe)?}}"
534 // CHECK-BE-NAN64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/nan2008"
535 // CHECK-BE-NAN64-16R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
536 // CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
537 // CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
538 // CHECK-BE-NAN64-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtbegin.o"
539 // CHECK-BE-NAN64-16R2: "-L[[TC]]/mips16/nan2008"
540 // CHECK-BE-NAN64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/nan2008"
541 // CHECK-BE-NAN64-16R2: "-L[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib"
542 // CHECK-BE-NAN64-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtend.o"
543 // CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
544 //
545 // = Big-endian, mips32r2, nan2008
546 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
547 // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mnan=2008 \
548 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
549 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-32R2 %s
550 // CHECK-BE-NAN-32R2: "-internal-isystem"
551 // CHECK-BE-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
552 // CHECK-BE-NAN-32R2: "-internal-isystem"
553 // CHECK-BE-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/nan2008"
554 // CHECK-BE-NAN-32R2: "-internal-isystem"
555 // CHECK-BE-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
556 // CHECK-BE-NAN-32R2: "-internal-externc-isystem"
557 // CHECK-BE-NAN-32R2: "[[TC]]/include"
558 // CHECK-BE-NAN-32R2: "-internal-externc-isystem"
559 // CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/usr/include"
560 // CHECK-BE-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
561 // CHECK-BE-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/nan2008"
562 // CHECK-BE-NAN-32R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
563 // CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
564 // CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
565 // CHECK-BE-NAN-32R2: "[[TC]]/nan2008{{/|\\\\}}crtbegin.o"
566 // CHECK-BE-NAN-32R2: "-L[[TC]]/nan2008"
567 // CHECK-BE-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/nan2008"
568 // CHECK-BE-NAN-32R2: "-L[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib"
569 // CHECK-BE-NAN-32R2: "[[TC]]/nan2008{{/|\\\\}}crtend.o"
570 // CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
571 //
572 // = Big-endian, mips32r2, nan2008, uclibc
573 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
574 // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mnan=2008 -muclibc \
575 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
576 // RUN:   | FileCheck --check-prefix=CHECK-BE-UC-NAN-32R2 %s
577 // CHECK-BE-UC-NAN-32R2: "-internal-isystem"
578 // CHECK-BE-UC-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
579 // CHECK-BE-UC-NAN-32R2: "-internal-isystem"
580 // CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/nan2008"
581 // CHECK-BE-UC-NAN-32R2: "-internal-isystem"
582 // CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
583 // CHECK-BE-UC-NAN-32R2: "-internal-externc-isystem"
584 // CHECK-BE-UC-NAN-32R2: "[[TC]]/include"
585 // CHECK-BE-UC-NAN-32R2: "-internal-externc-isystem"
586 // CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
587 // CHECK-BE-UC-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
588 // CHECK-BE-UC-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/nan2008"
589 // CHECK-BE-UC-NAN-32R2: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0"
590 // CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
591 // CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
592 // CHECK-BE-UC-NAN-32R2: "[[TC]]/uclibc/nan2008{{/|\\\\}}crtbegin.o"
593 // CHECK-BE-UC-NAN-32R2: "-L[[TC]]/uclibc/nan2008"
594 // CHECK-BE-UC-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/nan2008"
595 // CHECK-BE-UC-NAN-32R2: "-L[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib"
596 // CHECK-BE-UC-NAN-32R2: "[[TC]]/uclibc/nan2008{{/|\\\\}}crtend.o"
597 // CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
598 //
599 // = Big-endian, mips32r2, fp64, nan2008
600 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
601 // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mfp64 -mnan=2008 \
602 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
603 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-32R2 %s
604 // CHECK-BE-NAN64-32R2: "-internal-isystem"
605 // CHECK-BE-NAN64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
606 // CHECK-BE-NAN64-32R2: "-internal-isystem"
607 // CHECK-BE-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/nan2008"
608 // CHECK-BE-NAN64-32R2: "-internal-isystem"
609 // CHECK-BE-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
610 // CHECK-BE-NAN64-32R2: "-internal-externc-isystem"
611 // CHECK-BE-NAN64-32R2: "[[TC]]/include"
612 // CHECK-BE-NAN64-32R2: "-internal-externc-isystem"
613 // CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/usr/include"
614 // CHECK-BE-NAN64-32R2: "{{.*}}ld{{(.exe)?}}"
615 // CHECK-BE-NAN64-32R2: "--sysroot=[[TC]]/../../../../sysroot/nan2008"
616 // CHECK-BE-NAN64-32R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
617 // CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
618 // CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
619 // CHECK-BE-NAN64-32R2: "[[TC]]/nan2008{{/|\\\\}}crtbegin.o"
620 // CHECK-BE-NAN64-32R2: "-L[[TC]]/nan2008"
621 // CHECK-BE-NAN64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/nan2008"
622 // CHECK-BE-NAN64-32R2: "-L[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib"
623 // CHECK-BE-NAN64-32R2: "[[TC]]/nan2008{{/|\\\\}}crtend.o"
624 // CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
625 //
626 // = Big-endian, default (mips32r2), fp64, nan2008
627 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
628 // RUN:     --target=mips-mti-linux-gnu -mfp64 -mnan=2008 \
629 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
630 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-32R2-DEF %s
631 // CHECK-BE-NAN64-32R2-DEF: "-internal-isystem"
632 // CHECK-BE-NAN64-32R2-DEF: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
633 // CHECK-BE-NAN64-32R2-DEF: "-internal-isystem"
634 // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/nan2008"
635 // CHECK-BE-NAN64-32R2-DEF: "-internal-isystem"
636 // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
637 // CHECK-BE-NAN64-32R2-DEF: "-internal-externc-isystem"
638 // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/include"
639 // CHECK-BE-NAN64-32R2-DEF: "-internal-externc-isystem"
640 // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/usr/include"
641 // CHECK-BE-NAN64-32R2-DEF: "{{.*}}ld{{(.exe)?}}"
642 // CHECK-BE-NAN64-32R2-DEF: "--sysroot=[[TC]]/../../../../sysroot/nan2008"
643 // CHECK-BE-NAN64-32R2-DEF: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
644 // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
645 // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
646 // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/nan2008{{/|\\\\}}crtbegin.o"
647 // CHECK-BE-NAN64-32R2-DEF: "-L[[TC]]/nan2008"
648 // CHECK-BE-NAN64-32R2-DEF: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/nan2008"
649 // CHECK-BE-NAN64-32R2-DEF: "-L[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib"
650 // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/nan2008{{/|\\\\}}crtend.o"
651 // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
652 //
653 // = Big-endian, micromips, hard float
654 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
655 // RUN:     --target=mips-mti-linux-gnu -mmicromips -mhard-float \
656 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
657 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-MM %s
658 // CHECK-BE-HF-MM: "-internal-isystem"
659 // CHECK-BE-HF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
660 // CHECK-BE-HF-MM: "-internal-isystem"
661 // CHECK-BE-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips"
662 // CHECK-BE-HF-MM: "-internal-isystem"
663 // CHECK-BE-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
664 // CHECK-BE-HF-MM: "-internal-externc-isystem"
665 // CHECK-BE-HF-MM: "[[TC]]/include"
666 // CHECK-BE-HF-MM: "-internal-externc-isystem"
667 // CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/usr/include"
668 // CHECK-BE-HF-MM: "{{.*}}ld{{(.exe)?}}"
669 // CHECK-BE-HF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips"
670 // CHECK-BE-HF-MM: "-dynamic-linker" "/lib/ld.so.1"
671 // CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crt1.o"
672 // CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crti.o"
673 // CHECK-BE-HF-MM: "[[TC]]/micromips{{/|\\\\}}crtbegin.o"
674 // CHECK-BE-HF-MM: "-L[[TC]]/micromips"
675 // CHECK-BE-HF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips"
676 // CHECK-BE-HF-MM: "-L[[TC]]/../../../../sysroot/micromips/usr/lib/../lib"
677 // CHECK-BE-HF-MM: "[[TC]]/micromips{{/|\\\\}}crtend.o"
678 // CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crtn.o"
679 //
680 // = Big-endian, micromips, fp64, hard float
681 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
682 // RUN:     --target=mips-mti-linux-gnu -mmicromips -mfp64 -mhard-float \
683 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
684 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-MM %s
685 // CHECK-BE-HF64-MM: "-internal-isystem"
686 // CHECK-BE-HF64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
687 // CHECK-BE-HF64-MM: "-internal-isystem"
688 // CHECK-BE-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips"
689 // CHECK-BE-HF64-MM: "-internal-isystem"
690 // CHECK-BE-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
691 // CHECK-BE-HF64-MM: "-internal-externc-isystem"
692 // CHECK-BE-HF64-MM: "[[TC]]/include"
693 // CHECK-BE-HF64-MM: "-internal-externc-isystem"
694 // CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/usr/include"
695 // CHECK-BE-HF64-MM: "{{.*}}ld{{(.exe)?}}"
696 // CHECK-BE-HF64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips"
697 // CHECK-BE-HF64-MM: "-dynamic-linker" "/lib/ld.so.1"
698 // CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crt1.o"
699 // CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crti.o"
700 // CHECK-BE-HF64-MM: "[[TC]]/micromips{{/|\\\\}}crtbegin.o"
701 // CHECK-BE-HF64-MM: "-L[[TC]]/micromips"
702 // CHECK-BE-HF64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips"
703 // CHECK-BE-HF64-MM: "-L[[TC]]/../../../../sysroot/micromips/usr/lib/../lib"
704 // CHECK-BE-HF64-MM: "[[TC]]/micromips{{/|\\\\}}crtend.o"
705 // CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crtn.o"
706 //
707 // = Big-endian, micromips, soft float
708 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
709 // RUN:     --target=mips-mti-linux-gnu -mmicromips -msoft-float \
710 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
711 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-MM %s
712 // CHECK-BE-SF-MM: "-internal-isystem"
713 // CHECK-BE-SF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
714 // CHECK-BE-SF-MM: "-internal-isystem"
715 // CHECK-BE-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/sof"
716 // CHECK-BE-SF-MM: "-internal-isystem"
717 // CHECK-BE-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
718 // CHECK-BE-SF-MM: "-internal-externc-isystem"
719 // CHECK-BE-SF-MM: "[[TC]]/include"
720 // CHECK-BE-SF-MM: "-internal-externc-isystem"
721 // CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/usr/include"
722 // CHECK-BE-SF-MM: "{{.*}}ld{{(.exe)?}}"
723 // CHECK-BE-SF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/sof"
724 // CHECK-BE-SF-MM: "-dynamic-linker" "/lib/ld.so.1"
725 // CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
726 // CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib{{/|\\\\}}crti.o"
727 // CHECK-BE-SF-MM: "[[TC]]/micromips/sof{{/|\\\\}}crtbegin.o"
728 // CHECK-BE-SF-MM: "-L[[TC]]/micromips/sof"
729 // CHECK-BE-SF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/sof"
730 // CHECK-BE-SF-MM: "-L[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib"
731 // CHECK-BE-SF-MM: "[[TC]]/micromips/sof{{/|\\\\}}crtend.o"
732 // CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
733 //
734 // = Big-endian, micromips, nan2008
735 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
736 // RUN:     --target=mips-mti-linux-gnu -mmicromips -mnan=2008 \
737 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
738 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-MM %s
739 // CHECK-BE-NAN-MM: "-internal-isystem"
740 // CHECK-BE-NAN-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
741 // CHECK-BE-NAN-MM: "-internal-isystem"
742 // CHECK-BE-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/nan2008"
743 // CHECK-BE-NAN-MM: "-internal-isystem"
744 // CHECK-BE-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
745 // CHECK-BE-NAN-MM: "-internal-externc-isystem"
746 // CHECK-BE-NAN-MM: "[[TC]]/include"
747 // CHECK-BE-NAN-MM: "-internal-externc-isystem"
748 // CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/usr/include"
749 // CHECK-BE-NAN-MM: "{{.*}}ld{{(.exe)?}}"
750 // CHECK-BE-NAN-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/nan2008"
751 // CHECK-BE-NAN-MM: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
752 // CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
753 // CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
754 // CHECK-BE-NAN-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtbegin.o"
755 // CHECK-BE-NAN-MM: "-L[[TC]]/micromips/nan2008"
756 // CHECK-BE-NAN-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/nan2008"
757 // CHECK-BE-NAN-MM: "-L[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib"
758 // CHECK-BE-NAN-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtend.o"
759 // CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
760 //
761 // = Big-endian, micromips, fp64, nan2008
762 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
763 // RUN:     --target=mips-mti-linux-gnu -mmicromips -mfp64 -mnan=2008 \
764 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
765 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-MM %s
766 // CHECK-BE-NAN64-MM: "-internal-isystem"
767 // CHECK-BE-NAN64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
768 // CHECK-BE-NAN64-MM: "-internal-isystem"
769 // CHECK-BE-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/nan2008"
770 // CHECK-BE-NAN64-MM: "-internal-isystem"
771 // CHECK-BE-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
772 // CHECK-BE-NAN64-MM: "-internal-externc-isystem"
773 // CHECK-BE-NAN64-MM: "[[TC]]/include"
774 // CHECK-BE-NAN64-MM: "-internal-externc-isystem"
775 // CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/usr/include"
776 // CHECK-BE-NAN64-MM: "{{.*}}ld{{(.exe)?}}"
777 // CHECK-BE-NAN64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/nan2008"
778 // CHECK-BE-NAN64-MM: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
779 // CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
780 // CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
781 // CHECK-BE-NAN64-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtbegin.o"
782 // CHECK-BE-NAN64-MM: "-L[[TC]]/micromips/nan2008"
783 // CHECK-BE-NAN64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/nan2008"
784 // CHECK-BE-NAN64-MM: "-L[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib"
785 // CHECK-BE-NAN64-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtend.o"
786 // CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
787 //
788 // = Big-endian, mips64, ABI n32, hard float
789 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
790 // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=n32 -mhard-float \
791 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
792 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64-N32 %s
793 // CHECK-BE-HF-64-N32: "-internal-isystem"
794 // CHECK-BE-HF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
795 // CHECK-BE-HF-64-N32: "-internal-isystem"
796 // CHECK-BE-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64"
797 // CHECK-BE-HF-64-N32: "-internal-isystem"
798 // CHECK-BE-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
799 // CHECK-BE-HF-64-N32: "-internal-externc-isystem"
800 // CHECK-BE-HF-64-N32: "[[TC]]/include"
801 // CHECK-BE-HF-64-N32: "-internal-externc-isystem"
802 // CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
803 // CHECK-BE-HF-64-N32: "{{.*}}ld{{(.exe)?}}"
804 // CHECK-BE-HF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64"
805 // CHECK-BE-HF-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
806 // CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crt1.o"
807 // CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crti.o"
808 // CHECK-BE-HF-64-N32: "[[TC]]/mips64{{/|\\\\}}crtbegin.o"
809 // CHECK-BE-HF-64-N32: "-L[[TC]]/mips64"
810 // CHECK-BE-HF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64"
811 // CHECK-BE-HF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/usr/lib"
812 // CHECK-BE-HF-64-N32: "[[TC]]/mips64{{/|\\\\}}crtend.o"
813 // CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crtn.o"
814 //
815 // = Big-endian, mips64, ABI n32, fp64, hard float
816 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
817 // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=n32 -mfp64 -mhard-float \
818 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
819 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-64-N32 %s
820 // CHECK-BE-HF64-64-N32: "-internal-isystem"
821 // CHECK-BE-HF64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
822 // CHECK-BE-HF64-64-N32: "-internal-isystem"
823 // CHECK-BE-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64"
824 // CHECK-BE-HF64-64-N32: "-internal-isystem"
825 // CHECK-BE-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
826 // CHECK-BE-HF64-64-N32: "-internal-externc-isystem"
827 // CHECK-BE-HF64-64-N32: "[[TC]]/include"
828 // CHECK-BE-HF64-64-N32: "-internal-externc-isystem"
829 // CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
830 // CHECK-BE-HF64-64-N32: "{{.*}}ld{{(.exe)?}}"
831 // CHECK-BE-HF64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64"
832 // CHECK-BE-HF64-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
833 // CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crt1.o"
834 // CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crti.o"
835 // CHECK-BE-HF64-64-N32: "[[TC]]/mips64{{/|\\\\}}crtbegin.o"
836 // CHECK-BE-HF64-64-N32: "-L[[TC]]/mips64"
837 // CHECK-BE-HF64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64"
838 // CHECK-BE-HF64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/usr/lib"
839 // CHECK-BE-HF64-64-N32: "[[TC]]/mips64{{/|\\\\}}crtend.o"
840 // CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crtn.o"
841 //
842 // = Big-endian, mips64, ABI n32, soft float
843 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
844 // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=n32 -msoft-float \
845 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
846 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-64-N32 %s
847 // CHECK-BE-SF-64-N32: "-internal-isystem"
848 // CHECK-BE-SF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
849 // CHECK-BE-SF-64-N32: "-internal-isystem"
850 // CHECK-BE-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/sof"
851 // CHECK-BE-SF-64-N32: "-internal-isystem"
852 // CHECK-BE-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
853 // CHECK-BE-SF-64-N32: "-internal-externc-isystem"
854 // CHECK-BE-SF-64-N32: "[[TC]]/include"
855 // CHECK-BE-SF-64-N32: "-internal-externc-isystem"
856 // CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
857 // CHECK-BE-SF-64-N32: "{{.*}}ld{{(.exe)?}}"
858 // CHECK-BE-SF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/sof"
859 // CHECK-BE-SF-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
860 // CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/sof/usr/lib{{/|\\\\}}crt1.o"
861 // CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/sof/usr/lib{{/|\\\\}}crti.o"
862 // CHECK-BE-SF-64-N32: "[[TC]]/mips64/sof{{/|\\\\}}crtbegin.o"
863 // CHECK-BE-SF-64-N32: "-L[[TC]]/mips64/sof"
864 // CHECK-BE-SF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/sof"
865 // CHECK-BE-SF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/sof/usr/lib"
866 // CHECK-BE-SF-64-N32: "[[TC]]/mips64/sof{{/|\\\\}}crtend.o"
867 // CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/sof/usr/lib{{/|\\\\}}crtn.o"
868 //
869 // = Big-endian, mips64, ABI n32, nan2008
870 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
871 // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=n32 -mnan=2008 \
872 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
873 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-64-N32 %s
874 // CHECK-BE-NAN-64-N32: "-internal-isystem"
875 // CHECK-BE-NAN-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
876 // CHECK-BE-NAN-64-N32: "-internal-isystem"
877 // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/nan2008"
878 // CHECK-BE-NAN-64-N32: "-internal-isystem"
879 // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
880 // CHECK-BE-NAN-64-N32: "-internal-externc-isystem"
881 // CHECK-BE-NAN-64-N32: "[[TC]]/include"
882 // CHECK-BE-NAN-64-N32: "-internal-externc-isystem"
883 // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/usr/include"
884 // CHECK-BE-NAN-64-N32: "{{.*}}ld{{(.exe)?}}"
885 // CHECK-BE-NAN-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/nan2008"
886 // CHECK-BE-NAN-64-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
887 // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crt1.o"
888 // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crti.o"
889 // CHECK-BE-NAN-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtbegin.o"
890 // CHECK-BE-NAN-64-N32: "-L[[TC]]/mips64/nan2008"
891 // CHECK-BE-NAN-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/nan2008"
892 // CHECK-BE-NAN-64-N32: "-L[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib"
893 // CHECK-BE-NAN-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtend.o"
894 // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crtn.o"
895 //
896 // = Big-endian, mips64, ABI n32, fp64, nan2008
897 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
898 // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=n32 -mfp64 -mnan=2008 \
899 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
900 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-64-N32 %s
901 // CHECK-BE-NAN64-64-N32: "-internal-isystem"
902 // CHECK-BE-NAN64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
903 // CHECK-BE-NAN64-64-N32: "-internal-isystem"
904 // CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/nan2008"
905 // CHECK-BE-NAN64-64-N32: "-internal-isystem"
906 // CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
907 // CHECK-BE-NAN64-64-N32: "-internal-externc-isystem"
908 // CHECK-BE-NAN64-64-N32: "[[TC]]/include"
909 // CHECK-BE-NAN64-64-N32: "-internal-externc-isystem"
910 // CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
911 // CHECK-BE-NAN64-64-N32: "{{.*}}ld{{(.exe)?}}"
912 // CHECK-BE-NAN64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/nan2008"
913 // CHECK-BE-NAN64-64-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
914 // CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crt1.o"
915 // CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crti.o"
916 // CHECK-BE-NAN64-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtbegin.o"
917 // CHECK-BE-NAN64-64-N32: "-L[[TC]]/mips64/nan2008"
918 // CHECK-BE-NAN64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/nan2008"
919 // CHECK-BE-NAN64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib"
920 // CHECK-BE-NAN64-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtend.o"
921 // CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crtn.o"
922 //
923 // = Big-endian, mips64, ABI 64, hard float
924 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
925 // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=64 -mhard-float \
926 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
927 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64-64 %s
928 // CHECK-BE-HF-64-64: "-internal-isystem"
929 // CHECK-BE-HF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
930 // CHECK-BE-HF-64-64: "-internal-isystem"
931 // CHECK-BE-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64"
932 // CHECK-BE-HF-64-64: "-internal-isystem"
933 // CHECK-BE-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
934 // CHECK-BE-HF-64-64: "-internal-externc-isystem"
935 // CHECK-BE-HF-64-64: "[[TC]]/include"
936 // CHECK-BE-HF-64-64: "-internal-externc-isystem"
937 // CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/usr/include"
938 // CHECK-BE-HF-64-64: "{{.*}}ld{{(.exe)?}}"
939 // CHECK-BE-HF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64"
940 // CHECK-BE-HF-64-64: "-dynamic-linker" "/lib64/ld.so.1"
941 // CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crt1.o"
942 // CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crti.o"
943 // CHECK-BE-HF-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtbegin.o"
944 // CHECK-BE-HF-64-64: "-L[[TC]]/mips64/64"
945 // CHECK-BE-HF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64"
946 // CHECK-BE-HF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/usr/lib"
947 // CHECK-BE-HF-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtend.o"
948 // CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crtn.o"
949 //
950 // = Big-endian, mips64, ABI 64, fp64, hard float
951 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
952 // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=64 -mfp64 -mhard-float \
953 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
954 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-64-64 %s
955 // CHECK-BE-HF64-64-64: "-internal-isystem"
956 // CHECK-BE-HF64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
957 // CHECK-BE-HF64-64-64: "-internal-isystem"
958 // CHECK-BE-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64"
959 // CHECK-BE-HF64-64-64: "-internal-isystem"
960 // CHECK-BE-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
961 // CHECK-BE-HF64-64-64: "-internal-externc-isystem"
962 // CHECK-BE-HF64-64-64: "[[TC]]/include"
963 // CHECK-BE-HF64-64-64: "-internal-externc-isystem"
964 // CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/usr/include"
965 // CHECK-BE-HF64-64-64: "{{.*}}ld{{(.exe)?}}"
966 // CHECK-BE-HF64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64"
967 // CHECK-BE-HF64-64-64: "-dynamic-linker" "/lib64/ld.so.1"
968 // CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crt1.o"
969 // CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crti.o"
970 // CHECK-BE-HF64-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtbegin.o"
971 // CHECK-BE-HF64-64-64: "-L[[TC]]/mips64/64"
972 // CHECK-BE-HF64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64"
973 // CHECK-BE-HF64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/usr/lib"
974 // CHECK-BE-HF64-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtend.o"
975 // CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crtn.o"
976 //
977 // = Big-endian, mips64, ABI 64, soft float
978 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
979 // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=64 -msoft-float \
980 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
981 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-64-64 %s
982 // CHECK-BE-SF-64-64: "-internal-isystem"
983 // CHECK-BE-SF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
984 // CHECK-BE-SF-64-64: "-internal-isystem"
985 // CHECK-BE-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/sof"
986 // CHECK-BE-SF-64-64: "-internal-isystem"
987 // CHECK-BE-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
988 // CHECK-BE-SF-64-64: "-internal-externc-isystem"
989 // CHECK-BE-SF-64-64: "[[TC]]/include"
990 // CHECK-BE-SF-64-64: "-internal-externc-isystem"
991 // CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/usr/include"
992 // CHECK-BE-SF-64-64: "{{.*}}ld{{(.exe)?}}"
993 // CHECK-BE-SF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/sof"
994 // CHECK-BE-SF-64-64: "-dynamic-linker" "/lib64/ld.so.1"
995 // CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib{{/|\\\\}}crt1.o"
996 // CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib{{/|\\\\}}crti.o"
997 // CHECK-BE-SF-64-64: "[[TC]]/mips64/64/sof{{/|\\\\}}crtbegin.o"
998 // CHECK-BE-SF-64-64: "-L[[TC]]/mips64/64/sof"
999 // CHECK-BE-SF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/sof"
1000 // CHECK-BE-SF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib"
1001 // CHECK-BE-SF-64-64: "[[TC]]/mips64/64/sof{{/|\\\\}}crtend.o"
1002 // CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib{{/|\\\\}}crtn.o"
1003 //
1004 // = Big-endian, mips64, ABI 64, nan2008
1005 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1006 // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=64 -mnan=2008 \
1007 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1008 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-64-64 %s
1009 // CHECK-BE-NAN-64-64: "-internal-isystem"
1010 // CHECK-BE-NAN-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1011 // CHECK-BE-NAN-64-64: "-internal-isystem"
1012 // CHECK-BE-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/nan2008"
1013 // CHECK-BE-NAN-64-64: "-internal-isystem"
1014 // CHECK-BE-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1015 // CHECK-BE-NAN-64-64: "-internal-externc-isystem"
1016 // CHECK-BE-NAN-64-64: "[[TC]]/include"
1017 // CHECK-BE-NAN-64-64: "-internal-externc-isystem"
1018 // CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/usr/include"
1019 // CHECK-BE-NAN-64-64: "{{.*}}ld{{(.exe)?}}"
1020 // CHECK-BE-NAN-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/nan2008"
1021 // CHECK-BE-NAN-64-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
1022 // CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1023 // CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1024 // CHECK-BE-NAN-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtbegin.o"
1025 // CHECK-BE-NAN-64-64: "-L[[TC]]/mips64/64/nan2008"
1026 // CHECK-BE-NAN-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/nan2008"
1027 // CHECK-BE-NAN-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib"
1028 // CHECK-BE-NAN-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtend.o"
1029 // CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1030 //
1031 // = Big-endian, mips64, ABI 64, fp64, nan2008
1032 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1033 // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=64 -mfp64 -mnan=2008 \
1034 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1035 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-64-64 %s
1036 // CHECK-BE-NAN64-64-64: "-internal-isystem"
1037 // CHECK-BE-NAN64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1038 // CHECK-BE-NAN64-64-64: "-internal-isystem"
1039 // CHECK-BE-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/nan2008"
1040 // CHECK-BE-NAN64-64-64: "-internal-isystem"
1041 // CHECK-BE-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1042 // CHECK-BE-NAN64-64-64: "-internal-externc-isystem"
1043 // CHECK-BE-NAN64-64-64: "[[TC]]/include"
1044 // CHECK-BE-NAN64-64-64: "-internal-externc-isystem"
1045 // CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/usr/include"
1046 // CHECK-BE-NAN64-64-64: "{{.*}}ld{{(.exe)?}}"
1047 // CHECK-BE-NAN64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/nan2008"
1048 // CHECK-BE-NAN64-64-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
1049 // CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1050 // CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1051 // CHECK-BE-NAN64-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtbegin.o"
1052 // CHECK-BE-NAN64-64-64: "-L[[TC]]/mips64/64/nan2008"
1053 // CHECK-BE-NAN64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/nan2008"
1054 // CHECK-BE-NAN64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib"
1055 // CHECK-BE-NAN64-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtend.o"
1056 // CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1057 //
1058 // = Big-endian, mips64r2, ABI n32, hard float
1059 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1060 // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=n32 -mhard-float \
1061 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1062 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64R2-N32 %s
1063 // CHECK-BE-HF-64R2-N32: "-internal-isystem"
1064 // CHECK-BE-HF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1065 // CHECK-BE-HF-64R2-N32: "-internal-isystem"
1066 // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2"
1067 // CHECK-BE-HF-64R2-N32: "-internal-isystem"
1068 // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1069 // CHECK-BE-HF-64R2-N32: "-internal-externc-isystem"
1070 // CHECK-BE-HF-64R2-N32: "[[TC]]/include"
1071 // CHECK-BE-HF-64R2-N32: "-internal-externc-isystem"
1072 // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1073 // CHECK-BE-HF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
1074 // CHECK-BE-HF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2"
1075 // CHECK-BE-HF-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
1076 // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crt1.o"
1077 // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crti.o"
1078 // CHECK-BE-HF-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtbegin.o"
1079 // CHECK-BE-HF-64R2-N32: "-L[[TC]]/mips64r2"
1080 // CHECK-BE-HF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2"
1081 // CHECK-BE-HF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/usr/lib"
1082 // CHECK-BE-HF-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtend.o"
1083 // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crtn.o"
1084 //
1085 // = Big-endian, mips64r2, ABI n32, fp64, hard float
1086 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1087 // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mhard-float \
1088 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1089 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-64R2-N32 %s
1090 // CHECK-BE-HF64-64R2-N32: "-internal-isystem"
1091 // CHECK-BE-HF64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1092 // CHECK-BE-HF64-64R2-N32: "-internal-isystem"
1093 // CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2"
1094 // CHECK-BE-HF64-64R2-N32: "-internal-isystem"
1095 // CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1096 // CHECK-BE-HF64-64R2-N32: "-internal-externc-isystem"
1097 // CHECK-BE-HF64-64R2-N32: "[[TC]]/include"
1098 // CHECK-BE-HF64-64R2-N32: "-internal-externc-isystem"
1099 // CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1100 // CHECK-BE-HF64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
1101 // CHECK-BE-HF64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2"
1102 // CHECK-BE-HF64-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
1103 // CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crt1.o"
1104 // CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crti.o"
1105 // CHECK-BE-HF64-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtbegin.o"
1106 // CHECK-BE-HF64-64R2-N32: "-L[[TC]]/mips64r2"
1107 // CHECK-BE-HF64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2"
1108 // CHECK-BE-HF64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/usr/lib"
1109 // CHECK-BE-HF64-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtend.o"
1110 // CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crtn.o"
1111 //
1112 // = Big-endian, mips64r2, ABI n32, soft float
1113 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1114 // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=n32 -msoft-float \
1115 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1116 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-64R2-N32 %s
1117 // CHECK-BE-SF-64R2-N32: "-internal-isystem"
1118 // CHECK-BE-SF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1119 // CHECK-BE-SF-64R2-N32: "-internal-isystem"
1120 // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/sof"
1121 // CHECK-BE-SF-64R2-N32: "-internal-isystem"
1122 // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1123 // CHECK-BE-SF-64R2-N32: "-internal-externc-isystem"
1124 // CHECK-BE-SF-64R2-N32: "[[TC]]/include"
1125 // CHECK-BE-SF-64R2-N32: "-internal-externc-isystem"
1126 // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1127 // CHECK-BE-SF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
1128 // CHECK-BE-SF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/sof"
1129 // CHECK-BE-SF-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
1130 // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib{{/|\\\\}}crt1.o"
1131 // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib{{/|\\\\}}crti.o"
1132 // CHECK-BE-SF-64R2-N32: "[[TC]]/mips64r2/sof{{/|\\\\}}crtbegin.o"
1133 // CHECK-BE-SF-64R2-N32: "-L[[TC]]/mips64r2/sof"
1134 // CHECK-BE-SF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/sof"
1135 // CHECK-BE-SF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib"
1136 // CHECK-BE-SF-64R2-N32: "[[TC]]/mips64r2/sof{{/|\\\\}}crtend.o"
1137 // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib{{/|\\\\}}crtn.o"
1138 //
1139 // = Big-endian, mips64r2, ABI n32, nan2008
1140 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1141 // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=n32 -mnan=2008 \
1142 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1143 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-64R2-N32 %s
1144 // CHECK-BE-NAN-64R2-N32: "-internal-isystem"
1145 // CHECK-BE-NAN-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1146 // CHECK-BE-NAN-64R2-N32: "-internal-isystem"
1147 // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/nan2008"
1148 // CHECK-BE-NAN-64R2-N32: "-internal-isystem"
1149 // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1150 // CHECK-BE-NAN-64R2-N32: "-internal-externc-isystem"
1151 // CHECK-BE-NAN-64R2-N32: "[[TC]]/include"
1152 // CHECK-BE-NAN-64R2-N32: "-internal-externc-isystem"
1153 // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1154 // CHECK-BE-NAN-64R2-N32: "{{.*}}ld{{(.exe)?}}"
1155 // CHECK-BE-NAN-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/nan2008"
1156 // CHECK-BE-NAN-64R2-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
1157 // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crt1.o"
1158 // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crti.o"
1159 // CHECK-BE-NAN-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtbegin.o"
1160 // CHECK-BE-NAN-64R2-N32: "-L[[TC]]/mips64r2/nan2008"
1161 // CHECK-BE-NAN-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/nan2008"
1162 // CHECK-BE-NAN-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib"
1163 // CHECK-BE-NAN-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtend.o"
1164 // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crtn.o"
1165 //
1166 // = Big-endian, mips64r2, ABI n32, fp64, nan2008
1167 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1168 // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mnan=2008 \
1169 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1170 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-64R2-N32 %s
1171 // CHECK-BE-NAN64-64R2-N32: "-internal-isystem"
1172 // CHECK-BE-NAN64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1173 // CHECK-BE-NAN64-64R2-N32: "-internal-isystem"
1174 // CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/nan2008"
1175 // CHECK-BE-NAN64-64R2-N32: "-internal-isystem"
1176 // CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1177 // CHECK-BE-NAN64-64R2-N32: "-internal-externc-isystem"
1178 // CHECK-BE-NAN64-64R2-N32: "[[TC]]/include"
1179 // CHECK-BE-NAN64-64R2-N32: "-internal-externc-isystem"
1180 // CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1181 // CHECK-BE-NAN64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
1182 // CHECK-BE-NAN64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/nan2008"
1183 // CHECK-BE-NAN64-64R2-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
1184 // CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crt1.o"
1185 // CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crti.o"
1186 // CHECK-BE-NAN64-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtbegin.o"
1187 // CHECK-BE-NAN64-64R2-N32: "-L[[TC]]/mips64r2/nan2008"
1188 // CHECK-BE-NAN64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/nan2008"
1189 // CHECK-BE-NAN64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib"
1190 // CHECK-BE-NAN64-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtend.o"
1191 // CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crtn.o"
1192 //
1193 // = Big-endian, mips64r2, ABI 64, hard float
1194 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1195 // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=64 -mhard-float \
1196 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1197 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64R2-64 %s
1198 // CHECK-BE-HF-64R2-64: "-internal-isystem"
1199 // CHECK-BE-HF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1200 // CHECK-BE-HF-64R2-64: "-internal-isystem"
1201 // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64"
1202 // CHECK-BE-HF-64R2-64: "-internal-isystem"
1203 // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1204 // CHECK-BE-HF-64R2-64: "-internal-externc-isystem"
1205 // CHECK-BE-HF-64R2-64: "[[TC]]/include"
1206 // CHECK-BE-HF-64R2-64: "-internal-externc-isystem"
1207 // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1208 // CHECK-BE-HF-64R2-64: "{{.*}}ld{{(.exe)?}}"
1209 // CHECK-BE-HF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64"
1210 // CHECK-BE-HF-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
1211 // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crt1.o"
1212 // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crti.o"
1213 // CHECK-BE-HF-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtbegin.o"
1214 // CHECK-BE-HF-64R2-64: "-L[[TC]]/mips64r2/64"
1215 // CHECK-BE-HF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64"
1216 // CHECK-BE-HF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/usr/lib"
1217 // CHECK-BE-HF-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtend.o"
1218 // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crtn.o"
1219 //
1220 // = Big-endian, mips64r2, ABI 64, fp64, hard float
1221 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1222 // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=64 -mfp64 -mhard-float \
1223 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1224 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-64R2-64 %s
1225 // CHECK-BE-HF64-64R2-64: "-internal-isystem"
1226 // CHECK-BE-HF64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1227 // CHECK-BE-HF64-64R2-64: "-internal-isystem"
1228 // CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64"
1229 // CHECK-BE-HF64-64R2-64: "-internal-isystem"
1230 // CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1231 // CHECK-BE-HF64-64R2-64: "-internal-externc-isystem"
1232 // CHECK-BE-HF64-64R2-64: "[[TC]]/include"
1233 // CHECK-BE-HF64-64R2-64: "-internal-externc-isystem"
1234 // CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1235 // CHECK-BE-HF64-64R2-64: "{{.*}}ld{{(.exe)?}}"
1236 // CHECK-BE-HF64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64"
1237 // CHECK-BE-HF64-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
1238 // CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crt1.o"
1239 // CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crti.o"
1240 // CHECK-BE-HF64-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtbegin.o"
1241 // CHECK-BE-HF64-64R2-64: "-L[[TC]]/mips64r2/64"
1242 // CHECK-BE-HF64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64"
1243 // CHECK-BE-HF64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/usr/lib"
1244 // CHECK-BE-HF64-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtend.o"
1245 // CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crtn.o"
1246 //
1247 // = Big-endian, mips64r2, ABI 64, soft float
1248 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1249 // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=64 -msoft-float \
1250 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1251 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-64R2-64 %s
1252 // CHECK-BE-SF-64R2-64: "-internal-isystem"
1253 // CHECK-BE-SF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1254 // CHECK-BE-SF-64R2-64: "-internal-isystem"
1255 // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/sof"
1256 // CHECK-BE-SF-64R2-64: "-internal-isystem"
1257 // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1258 // CHECK-BE-SF-64R2-64: "-internal-externc-isystem"
1259 // CHECK-BE-SF-64R2-64: "[[TC]]/include"
1260 // CHECK-BE-SF-64R2-64: "-internal-externc-isystem"
1261 // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1262 // CHECK-BE-SF-64R2-64: "{{.*}}ld{{(.exe)?}}"
1263 // CHECK-BE-SF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/sof"
1264 // CHECK-BE-SF-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
1265 // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib{{/|\\\\}}crt1.o"
1266 // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib{{/|\\\\}}crti.o"
1267 // CHECK-BE-SF-64R2-64: "[[TC]]/mips64r2/64/sof{{/|\\\\}}crtbegin.o"
1268 // CHECK-BE-SF-64R2-64: "-L[[TC]]/mips64r2/64/sof"
1269 // CHECK-BE-SF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/sof"
1270 // CHECK-BE-SF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib"
1271 // CHECK-BE-SF-64R2-64: "[[TC]]/mips64r2/64/sof{{/|\\\\}}crtend.o"
1272 // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib{{/|\\\\}}crtn.o"
1273 //
1274 // = Big-endian, mips64r2, ABI 64, nan2008
1275 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1276 // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=64 -mnan=2008 \
1277 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1278 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-64R2-64 %s
1279 // CHECK-BE-NAN-64R2-64: "-internal-isystem"
1280 // CHECK-BE-NAN-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1281 // CHECK-BE-NAN-64R2-64: "-internal-isystem"
1282 // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/nan2008"
1283 // CHECK-BE-NAN-64R2-64: "-internal-isystem"
1284 // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1285 // CHECK-BE-NAN-64R2-64: "-internal-externc-isystem"
1286 // CHECK-BE-NAN-64R2-64: "[[TC]]/include"
1287 // CHECK-BE-NAN-64R2-64: "-internal-externc-isystem"
1288 // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1289 // CHECK-BE-NAN-64R2-64: "{{.*}}ld{{(.exe)?}}"
1290 // CHECK-BE-NAN-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/nan2008"
1291 // CHECK-BE-NAN-64R2-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
1292 // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1293 // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1294 // CHECK-BE-NAN-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtbegin.o"
1295 // CHECK-BE-NAN-64R2-64: "-L[[TC]]/mips64r2/64/nan2008"
1296 // CHECK-BE-NAN-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/nan2008"
1297 // CHECK-BE-NAN-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib"
1298 // CHECK-BE-NAN-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtend.o"
1299 // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1300 //
1301 // = Big-endian, mips64r2, ABI 64, fp64, nan2008
1302 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1303 // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=64 -mfp64 -mnan=2008 \
1304 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1305 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-64R2-64 %s
1306 // CHECK-BE-NAN64-64R2-64: "-internal-isystem"
1307 // CHECK-BE-NAN64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1308 // CHECK-BE-NAN64-64R2-64: "-internal-isystem"
1309 // CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/nan2008"
1310 // CHECK-BE-NAN64-64R2-64: "-internal-isystem"
1311 // CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1312 // CHECK-BE-NAN64-64R2-64: "-internal-externc-isystem"
1313 // CHECK-BE-NAN64-64R2-64: "[[TC]]/include"
1314 // CHECK-BE-NAN64-64R2-64: "-internal-externc-isystem"
1315 // CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1316 // CHECK-BE-NAN64-64R2-64: "{{.*}}ld{{(.exe)?}}"
1317 // CHECK-BE-NAN64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/nan2008"
1318 // CHECK-BE-NAN64-64R2-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
1319 // CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1320 // CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1321 // CHECK-BE-NAN64-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtbegin.o"
1322 // CHECK-BE-NAN64-64R2-64: "-L[[TC]]/mips64r2/64/nan2008"
1323 // CHECK-BE-NAN64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/nan2008"
1324 // CHECK-BE-NAN64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib"
1325 // CHECK-BE-NAN64-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtend.o"
1326 // CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1327 //
1328 // = Big-endian, default (mips64r2), ABI 64, fp64, nan2008
1329 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1330 // RUN:     --target=mips64-mti-linux-gnu -mabi=64 -mfp64 -mnan=2008 \
1331 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1332 // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-64R2-64-DEF %s
1333 // CHECK-BE-NAN64-64R2-64-DEF: "-internal-isystem"
1334 // CHECK-BE-NAN64-64R2-64-DEF: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1335 // CHECK-BE-NAN64-64R2-64-DEF: "-internal-isystem"
1336 // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/nan2008"
1337 // CHECK-BE-NAN64-64R2-64-DEF: "-internal-isystem"
1338 // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1339 // CHECK-BE-NAN64-64R2-64-DEF: "-internal-externc-isystem"
1340 // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/include"
1341 // CHECK-BE-NAN64-64R2-64-DEF: "-internal-externc-isystem"
1342 // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/usr/include"
1343 // CHECK-BE-NAN64-64R2-64-DEF: "{{.*}}ld{{(.exe)?}}"
1344 // CHECK-BE-NAN64-64R2-64-DEF: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/nan2008"
1345 // CHECK-BE-NAN64-64R2-64-DEF: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
1346 // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1347 // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1348 // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtbegin.o"
1349 // CHECK-BE-NAN64-64R2-64-DEF: "-L[[TC]]/mips64r2/64/nan2008"
1350 // CHECK-BE-NAN64-64R2-64-DEF: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/nan2008"
1351 // CHECK-BE-NAN64-64R2-64-DEF: "-L[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib"
1352 // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtend.o"
1353 // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1354 //
1355 // = Little-endian, mips32, hard float
1356 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1357 // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mhard-float \
1358 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1359 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-32 %s
1360 // CHECK-EL-HF-32: "-internal-isystem"
1361 // CHECK-EL-HF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1362 // CHECK-EL-HF-32: "-internal-isystem"
1363 // CHECK-EL-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el"
1364 // CHECK-EL-HF-32: "-internal-isystem"
1365 // CHECK-EL-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1366 // CHECK-EL-HF-32: "-internal-externc-isystem"
1367 // CHECK-EL-HF-32: "[[TC]]/include"
1368 // CHECK-EL-HF-32: "-internal-externc-isystem"
1369 // CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/usr/include"
1370 // CHECK-EL-HF-32: "{{.*}}ld{{(.exe)?}}"
1371 // CHECK-EL-HF-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el"
1372 // CHECK-EL-HF-32: "-dynamic-linker" "/lib/ld.so.1"
1373 // CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1374 // CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crti.o"
1375 // CHECK-EL-HF-32: "[[TC]]/mips32/el{{/|\\\\}}crtbegin.o"
1376 // CHECK-EL-HF-32: "-L[[TC]]/mips32/el"
1377 // CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el"
1378 // CHECK-EL-HF-32: "-L[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib"
1379 // CHECK-EL-HF-32: "[[TC]]/mips32/el{{/|\\\\}}crtend.o"
1380 // CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1381 //
1382 // = Little-endian, mips32, fp64, hard float
1383 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1384 // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mfp64 -mhard-float \
1385 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1386 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-32 %s
1387 // CHECK-EL-HF64-32: "-internal-isystem"
1388 // CHECK-EL-HF64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1389 // CHECK-EL-HF64-32: "-internal-isystem"
1390 // CHECK-EL-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el"
1391 // CHECK-EL-HF64-32: "-internal-isystem"
1392 // CHECK-EL-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1393 // CHECK-EL-HF64-32: "-internal-externc-isystem"
1394 // CHECK-EL-HF64-32: "[[TC]]/include"
1395 // CHECK-EL-HF64-32: "-internal-externc-isystem"
1396 // CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/usr/include"
1397 // CHECK-EL-HF64-32: "{{.*}}ld{{(.exe)?}}"
1398 // CHECK-EL-HF64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el"
1399 // CHECK-EL-HF64-32: "-dynamic-linker" "/lib/ld.so.1"
1400 // CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1401 // CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crti.o"
1402 // CHECK-EL-HF64-32: "[[TC]]/mips32/el{{/|\\\\}}crtbegin.o"
1403 // CHECK-EL-HF64-32: "-L[[TC]]/mips32/el"
1404 // CHECK-EL-HF64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el"
1405 // CHECK-EL-HF64-32: "-L[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib"
1406 // CHECK-EL-HF64-32: "[[TC]]/mips32/el{{/|\\\\}}crtend.o"
1407 // CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1408 //
1409 // = Little-endian, mips32, soft float
1410 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1411 // RUN:     --target=mipsel-mti-linux-gnu -mips32 -msoft-float \
1412 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1413 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-32 %s
1414 // CHECK-EL-SF-32: "-internal-isystem"
1415 // CHECK-EL-SF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1416 // CHECK-EL-SF-32: "-internal-isystem"
1417 // CHECK-EL-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el/sof"
1418 // CHECK-EL-SF-32: "-internal-isystem"
1419 // CHECK-EL-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1420 // CHECK-EL-SF-32: "-internal-externc-isystem"
1421 // CHECK-EL-SF-32: "[[TC]]/include"
1422 // CHECK-EL-SF-32: "-internal-externc-isystem"
1423 // CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/usr/include"
1424 // CHECK-EL-SF-32: "{{.*}}ld{{(.exe)?}}"
1425 // CHECK-EL-SF-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el/sof"
1426 // CHECK-EL-SF-32: "-dynamic-linker" "/lib/ld.so.1"
1427 // CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1428 // CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1429 // CHECK-EL-SF-32: "[[TC]]/mips32/el/sof{{/|\\\\}}crtbegin.o"
1430 // CHECK-EL-SF-32: "-L[[TC]]/mips32/el/sof"
1431 // CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el/sof"
1432 // CHECK-EL-SF-32: "-L[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib"
1433 // CHECK-EL-SF-32: "[[TC]]/mips32/el/sof{{/|\\\\}}crtend.o"
1434 // CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1435 //
1436 // = Little-endian, mips32 / mips16, hard float
1437 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1438 // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mips16 -mhard-float \
1439 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1440 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-16 %s
1441 // CHECK-EL-HF-16: "-internal-isystem"
1442 // CHECK-EL-HF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1443 // CHECK-EL-HF-16: "-internal-isystem"
1444 // CHECK-EL-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el"
1445 // CHECK-EL-HF-16: "-internal-isystem"
1446 // CHECK-EL-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1447 // CHECK-EL-HF-16: "-internal-externc-isystem"
1448 // CHECK-EL-HF-16: "[[TC]]/include"
1449 // CHECK-EL-HF-16: "-internal-externc-isystem"
1450 // CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/usr/include"
1451 // CHECK-EL-HF-16: "{{.*}}ld{{(.exe)?}}"
1452 // CHECK-EL-HF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el"
1453 // CHECK-EL-HF-16: "-dynamic-linker" "/lib/ld.so.1"
1454 // CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1455 // CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
1456 // CHECK-EL-HF-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtbegin.o"
1457 // CHECK-EL-HF-16: "-L[[TC]]/mips32/mips16/el"
1458 // CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el"
1459 // CHECK-EL-HF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib"
1460 // CHECK-EL-HF-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtend.o"
1461 // CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1462 //
1463 // = Little-endian, mips32 / mips16, fp64, hard float
1464 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1465 // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mips16 -mfp64 -mhard-float \
1466 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1467 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-16 %s
1468 // CHECK-EL-HF64-16: "-internal-isystem"
1469 // CHECK-EL-HF64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1470 // CHECK-EL-HF64-16: "-internal-isystem"
1471 // CHECK-EL-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el"
1472 // CHECK-EL-HF64-16: "-internal-isystem"
1473 // CHECK-EL-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1474 // CHECK-EL-HF64-16: "-internal-externc-isystem"
1475 // CHECK-EL-HF64-16: "[[TC]]/include"
1476 // CHECK-EL-HF64-16: "-internal-externc-isystem"
1477 // CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/usr/include"
1478 // CHECK-EL-HF64-16: "{{.*}}ld{{(.exe)?}}"
1479 // CHECK-EL-HF64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el"
1480 // CHECK-EL-HF64-16: "-dynamic-linker" "/lib/ld.so.1"
1481 // CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1482 // CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
1483 // CHECK-EL-HF64-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtbegin.o"
1484 // CHECK-EL-HF64-16: "-L[[TC]]/mips32/mips16/el"
1485 // CHECK-EL-HF64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el"
1486 // CHECK-EL-HF64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib"
1487 // CHECK-EL-HF64-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtend.o"
1488 // CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1489 //
1490 // = Little-endian, mips32 / mips16, soft float
1491 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1492 // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mips16 -msoft-float \
1493 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1494 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-16 %s
1495 // CHECK-EL-SF-16: "-internal-isystem"
1496 // CHECK-EL-SF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1497 // CHECK-EL-SF-16: "-internal-isystem"
1498 // CHECK-EL-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el/sof"
1499 // CHECK-EL-SF-16: "-internal-isystem"
1500 // CHECK-EL-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1501 // CHECK-EL-SF-16: "-internal-externc-isystem"
1502 // CHECK-EL-SF-16: "[[TC]]/include"
1503 // CHECK-EL-SF-16: "-internal-externc-isystem"
1504 // CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/usr/include"
1505 // CHECK-EL-SF-16: "{{.*}}ld{{(.exe)?}}"
1506 // CHECK-EL-SF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el/sof"
1507 // CHECK-EL-SF-16: "-dynamic-linker" "/lib/ld.so.1"
1508 // CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1509 // CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1510 // CHECK-EL-SF-16: "[[TC]]/mips32/mips16/el/sof{{/|\\\\}}crtbegin.o"
1511 // CHECK-EL-SF-16: "-L[[TC]]/mips32/mips16/el/sof"
1512 // CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el/sof"
1513 // CHECK-EL-SF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib"
1514 // CHECK-EL-SF-16: "[[TC]]/mips32/mips16/el/sof{{/|\\\\}}crtend.o"
1515 // CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1516 //
1517 // = Little-endian, mips32 / mips16, nan2008
1518 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1519 // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mips16 -mnan=2008 \
1520 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1521 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-16 %s
1522 // CHECK-EL-NAN-16: "-internal-isystem"
1523 // CHECK-EL-NAN-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1524 // CHECK-EL-NAN-16: "-internal-isystem"
1525 // CHECK-EL-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el/nan2008"
1526 // CHECK-EL-NAN-16: "-internal-isystem"
1527 // CHECK-EL-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1528 // CHECK-EL-NAN-16: "-internal-externc-isystem"
1529 // CHECK-EL-NAN-16: "[[TC]]/include"
1530 // CHECK-EL-NAN-16: "-internal-externc-isystem"
1531 // CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/usr/include"
1532 // CHECK-EL-NAN-16: "{{.*}}ld{{(.exe)?}}"
1533 // CHECK-EL-NAN-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008"
1534 // CHECK-EL-NAN-16: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1535 // CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1536 // CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1537 // CHECK-EL-NAN-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
1538 // CHECK-EL-NAN-16: "-L[[TC]]/mips32/mips16/el/nan2008"
1539 // CHECK-EL-NAN-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el/nan2008"
1540 // CHECK-EL-NAN-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib"
1541 // CHECK-EL-NAN-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtend.o"
1542 // CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1543 //
1544 // = Little-endian, mips32 / mips16, fp64, nan2008
1545 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1546 // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mips16 -mfp64 -mnan=2008 \
1547 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1548 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-16 %s
1549 // CHECK-EL-NAN64-16: "-internal-isystem"
1550 // CHECK-EL-NAN64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1551 // CHECK-EL-NAN64-16: "-internal-isystem"
1552 // CHECK-EL-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el/nan2008"
1553 // CHECK-EL-NAN64-16: "-internal-isystem"
1554 // CHECK-EL-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1555 // CHECK-EL-NAN64-16: "-internal-externc-isystem"
1556 // CHECK-EL-NAN64-16: "[[TC]]/include"
1557 // CHECK-EL-NAN64-16: "-internal-externc-isystem"
1558 // CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/usr/include"
1559 // CHECK-EL-NAN64-16: "{{.*}}ld{{(.exe)?}}"
1560 // CHECK-EL-NAN64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008"
1561 // CHECK-EL-NAN64-16: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1562 // CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1563 // CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1564 // CHECK-EL-NAN64-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
1565 // CHECK-EL-NAN64-16: "-L[[TC]]/mips32/mips16/el/nan2008"
1566 // CHECK-EL-NAN64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el/nan2008"
1567 // CHECK-EL-NAN64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib"
1568 // CHECK-EL-NAN64-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtend.o"
1569 // CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1570 //
1571 // = Little-endian, mips32, nan2008
1572 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1573 // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mnan=2008 \
1574 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1575 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-32 %s
1576 // CHECK-EL-NAN-32: "-internal-isystem"
1577 // CHECK-EL-NAN-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1578 // CHECK-EL-NAN-32: "-internal-isystem"
1579 // CHECK-EL-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el/nan2008"
1580 // CHECK-EL-NAN-32: "-internal-isystem"
1581 // CHECK-EL-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1582 // CHECK-EL-NAN-32: "-internal-externc-isystem"
1583 // CHECK-EL-NAN-32: "[[TC]]/include"
1584 // CHECK-EL-NAN-32: "-internal-externc-isystem"
1585 // CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/usr/include"
1586 // CHECK-EL-NAN-32: "{{.*}}ld{{(.exe)?}}"
1587 // CHECK-EL-NAN-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el/nan2008"
1588 // CHECK-EL-NAN-32: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1589 // CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1590 // CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1591 // CHECK-EL-NAN-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtbegin.o"
1592 // CHECK-EL-NAN-32: "-L[[TC]]/mips32/el/nan2008"
1593 // CHECK-EL-NAN-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el/nan2008"
1594 // CHECK-EL-NAN-32: "-L[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib"
1595 // CHECK-EL-NAN-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtend.o"
1596 // CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1597 //
1598 // = Little-endian, mips32, fp64, nan2008
1599 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1600 // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mfp64 -mnan=2008 \
1601 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1602 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-32 %s
1603 // CHECK-EL-NAN64-32: "-internal-isystem"
1604 // CHECK-EL-NAN64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1605 // CHECK-EL-NAN64-32: "-internal-isystem"
1606 // CHECK-EL-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el/nan2008"
1607 // CHECK-EL-NAN64-32: "-internal-isystem"
1608 // CHECK-EL-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1609 // CHECK-EL-NAN64-32: "-internal-externc-isystem"
1610 // CHECK-EL-NAN64-32: "[[TC]]/include"
1611 // CHECK-EL-NAN64-32: "-internal-externc-isystem"
1612 // CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/usr/include"
1613 // CHECK-EL-NAN64-32: "{{.*}}ld{{(.exe)?}}"
1614 // CHECK-EL-NAN64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el/nan2008"
1615 // CHECK-EL-NAN64-32: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1616 // CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1617 // CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1618 // CHECK-EL-NAN64-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtbegin.o"
1619 // CHECK-EL-NAN64-32: "-L[[TC]]/mips32/el/nan2008"
1620 // CHECK-EL-NAN64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el/nan2008"
1621 // CHECK-EL-NAN64-32: "-L[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib"
1622 // CHECK-EL-NAN64-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtend.o"
1623 // CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1624 //
1625 // = Little-endian, mips32r2, hard float
1626 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1627 // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mhard-float \
1628 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1629 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-32R2 %s
1630 // CHECK-EL-HF-32R2: "-internal-isystem"
1631 // CHECK-EL-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1632 // CHECK-EL-HF-32R2: "-internal-isystem"
1633 // CHECK-EL-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el"
1634 // CHECK-EL-HF-32R2: "-internal-isystem"
1635 // CHECK-EL-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1636 // CHECK-EL-HF-32R2: "-internal-externc-isystem"
1637 // CHECK-EL-HF-32R2: "[[TC]]/include"
1638 // CHECK-EL-HF-32R2: "-internal-externc-isystem"
1639 // CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/usr/include"
1640 // CHECK-EL-HF-32R2: "{{.*}}ld{{(.exe)?}}"
1641 // CHECK-EL-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot/el"
1642 // CHECK-EL-HF-32R2: "-dynamic-linker" "/lib/ld.so.1"
1643 // CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1644 // CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crti.o"
1645 // CHECK-EL-HF-32R2: "[[TC]]/el{{/|\\\\}}crtbegin.o"
1646 // CHECK-EL-HF-32R2: "-L[[TC]]/el"
1647 // CHECK-EL-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el"
1648 // CHECK-EL-HF-32R2: "-L[[TC]]/../../../../sysroot/el/usr/lib/../lib"
1649 // CHECK-EL-HF-32R2: "[[TC]]/el{{/|\\\\}}crtend.o"
1650 // CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1651 //
1652 // = Little-endian, mips32r2, hard float, uclibc
1653 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1654 // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mhard-float -muclibc \
1655 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1656 // RUN:   | FileCheck --check-prefix=CHECK-EL-UC-HF-32R2 %s
1657 // CHECK-EL-UC-HF-32R2: "-internal-isystem"
1658 // CHECK-EL-UC-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1659 // CHECK-EL-UC-HF-32R2: "-internal-isystem"
1660 // CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/el"
1661 // CHECK-EL-UC-HF-32R2: "-internal-isystem"
1662 // CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1663 // CHECK-EL-UC-HF-32R2: "-internal-externc-isystem"
1664 // CHECK-EL-UC-HF-32R2: "[[TC]]/include"
1665 // CHECK-EL-UC-HF-32R2: "-internal-externc-isystem"
1666 // CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
1667 // CHECK-EL-UC-HF-32R2: "{{.*}}ld{{(.exe)?}}"
1668 // CHECK-EL-UC-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/el"
1669 // CHECK-EL-UC-HF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
1670 // CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1671 // CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib{{/|\\\\}}crti.o"
1672 // CHECK-EL-UC-HF-32R2: "[[TC]]/uclibc/el{{/|\\\\}}crtbegin.o"
1673 // CHECK-EL-UC-HF-32R2: "-L[[TC]]/uclibc/el"
1674 // CHECK-EL-UC-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/el"
1675 // CHECK-EL-UC-HF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib"
1676 // CHECK-EL-UC-HF-32R2: "[[TC]]/uclibc/el{{/|\\\\}}crtend.o"
1677 // CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1678 //
1679 // = Little-endian, mips32r2, fp64, hard float
1680 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1681 // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mfp64 -mhard-float \
1682 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1683 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-32R2 %s
1684 // CHECK-EL-HF64-32R2: "-internal-isystem"
1685 // CHECK-EL-HF64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1686 // CHECK-EL-HF64-32R2: "-internal-isystem"
1687 // CHECK-EL-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el"
1688 // CHECK-EL-HF64-32R2: "-internal-isystem"
1689 // CHECK-EL-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1690 // CHECK-EL-HF64-32R2: "-internal-externc-isystem"
1691 // CHECK-EL-HF64-32R2: "[[TC]]/include"
1692 // CHECK-EL-HF64-32R2: "-internal-externc-isystem"
1693 // CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/usr/include"
1694 // CHECK-EL-HF64-32R2: "{{.*}}ld{{(.exe)?}}"
1695 // CHECK-EL-HF64-32R2: "--sysroot=[[TC]]/../../../../sysroot/el"
1696 // CHECK-EL-HF64-32R2: "-dynamic-linker" "/lib/ld.so.1"
1697 // CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1698 // CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crti.o"
1699 // CHECK-EL-HF64-32R2: "[[TC]]/el{{/|\\\\}}crtbegin.o"
1700 // CHECK-EL-HF64-32R2: "-L[[TC]]/el"
1701 // CHECK-EL-HF64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el"
1702 // CHECK-EL-HF64-32R2: "-L[[TC]]/../../../../sysroot/el/usr/lib/../lib"
1703 // CHECK-EL-HF64-32R2: "[[TC]]/el{{/|\\\\}}crtend.o"
1704 // CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1705 //
1706 // = Little-endian, mips32r2, soft float
1707 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1708 // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -msoft-float \
1709 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1710 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-32R2 %s
1711 // CHECK-EL-SF-32R2: "-internal-isystem"
1712 // CHECK-EL-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1713 // CHECK-EL-SF-32R2: "-internal-isystem"
1714 // CHECK-EL-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/sof"
1715 // CHECK-EL-SF-32R2: "-internal-isystem"
1716 // CHECK-EL-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1717 // CHECK-EL-SF-32R2: "-internal-externc-isystem"
1718 // CHECK-EL-SF-32R2: "[[TC]]/include"
1719 // CHECK-EL-SF-32R2: "-internal-externc-isystem"
1720 // CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/usr/include"
1721 // CHECK-EL-SF-32R2: "{{.*}}ld{{(.exe)?}}"
1722 // CHECK-EL-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/el/sof"
1723 // CHECK-EL-SF-32R2: "-dynamic-linker" "/lib/ld.so.1"
1724 // CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1725 // CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1726 // CHECK-EL-SF-32R2: "[[TC]]/el/sof{{/|\\\\}}crtbegin.o"
1727 // CHECK-EL-SF-32R2: "-L[[TC]]/el/sof"
1728 // CHECK-EL-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/sof"
1729 // CHECK-EL-SF-32R2: "-L[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib"
1730 // CHECK-EL-SF-32R2: "[[TC]]/el/sof{{/|\\\\}}crtend.o"
1731 // CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1732 //
1733 // = Little-endian, mips32r2, soft float, uclibc
1734 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1735 // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -msoft-float -muclibc \
1736 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1737 // RUN:   | FileCheck --check-prefix=CHECK-EL-UC-SF-32R2 %s
1738 // CHECK-EL-UC-SF-32R2: "-internal-isystem"
1739 // CHECK-EL-UC-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1740 // CHECK-EL-UC-SF-32R2: "-internal-isystem"
1741 // CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/el/sof"
1742 // CHECK-EL-UC-SF-32R2: "-internal-isystem"
1743 // CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1744 // CHECK-EL-UC-SF-32R2: "-internal-externc-isystem"
1745 // CHECK-EL-UC-SF-32R2: "[[TC]]/include"
1746 // CHECK-EL-UC-SF-32R2: "-internal-externc-isystem"
1747 // CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
1748 // CHECK-EL-UC-SF-32R2: "{{.*}}ld{{(.exe)?}}"
1749 // CHECK-EL-UC-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/el/sof"
1750 // CHECK-EL-UC-SF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
1751 // CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1752 // CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1753 // CHECK-EL-UC-SF-32R2: "[[TC]]/uclibc/el/sof{{/|\\\\}}crtbegin.o"
1754 // CHECK-EL-UC-SF-32R2: "-L[[TC]]/uclibc/el/sof"
1755 // CHECK-EL-UC-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/el/sof"
1756 // CHECK-EL-UC-SF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib"
1757 // CHECK-EL-UC-SF-32R2: "[[TC]]/uclibc/el/sof{{/|\\\\}}crtend.o"
1758 // CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1759 //
1760 // = Little-endian, mips32r2 / mips16, hard float
1761 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1762 // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mips16 -mhard-float \
1763 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1764 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-16R2 %s
1765 // CHECK-EL-HF-16R2: "-internal-isystem"
1766 // CHECK-EL-HF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1767 // CHECK-EL-HF-16R2: "-internal-isystem"
1768 // CHECK-EL-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el"
1769 // CHECK-EL-HF-16R2: "-internal-isystem"
1770 // CHECK-EL-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1771 // CHECK-EL-HF-16R2: "-internal-externc-isystem"
1772 // CHECK-EL-HF-16R2: "[[TC]]/include"
1773 // CHECK-EL-HF-16R2: "-internal-externc-isystem"
1774 // CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/usr/include"
1775 // CHECK-EL-HF-16R2: "{{.*}}ld{{(.exe)?}}"
1776 // CHECK-EL-HF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el"
1777 // CHECK-EL-HF-16R2: "-dynamic-linker" "/lib/ld.so.1"
1778 // CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1779 // CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
1780 // CHECK-EL-HF-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtbegin.o"
1781 // CHECK-EL-HF-16R2: "-L[[TC]]/mips16/el"
1782 // CHECK-EL-HF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el"
1783 // CHECK-EL-HF-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib"
1784 // CHECK-EL-HF-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtend.o"
1785 // CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1786 //
1787 // = Little-endian, mips32r2 / mips16, fp64, hard float
1788 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1789 // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mips16 -mfp64 -mhard-float \
1790 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1791 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-16R2 %s
1792 // CHECK-EL-HF64-16R2: "-internal-isystem"
1793 // CHECK-EL-HF64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1794 // CHECK-EL-HF64-16R2: "-internal-isystem"
1795 // CHECK-EL-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el"
1796 // CHECK-EL-HF64-16R2: "-internal-isystem"
1797 // CHECK-EL-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1798 // CHECK-EL-HF64-16R2: "-internal-externc-isystem"
1799 // CHECK-EL-HF64-16R2: "[[TC]]/include"
1800 // CHECK-EL-HF64-16R2: "-internal-externc-isystem"
1801 // CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/usr/include"
1802 // CHECK-EL-HF64-16R2: "{{.*}}ld{{(.exe)?}}"
1803 // CHECK-EL-HF64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el"
1804 // CHECK-EL-HF64-16R2: "-dynamic-linker" "/lib/ld.so.1"
1805 // CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1806 // CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
1807 // CHECK-EL-HF64-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtbegin.o"
1808 // CHECK-EL-HF64-16R2: "-L[[TC]]/mips16/el"
1809 // CHECK-EL-HF64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el"
1810 // CHECK-EL-HF64-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib"
1811 // CHECK-EL-HF64-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtend.o"
1812 // CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1813 //
1814 // = Little-endian, mips32r2 / mips16, soft float
1815 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1816 // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mips16 -msoft-float \
1817 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1818 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-16R2 %s
1819 // CHECK-EL-SF-16R2: "-internal-isystem"
1820 // CHECK-EL-SF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1821 // CHECK-EL-SF-16R2: "-internal-isystem"
1822 // CHECK-EL-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el/sof"
1823 // CHECK-EL-SF-16R2: "-internal-isystem"
1824 // CHECK-EL-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1825 // CHECK-EL-SF-16R2: "-internal-externc-isystem"
1826 // CHECK-EL-SF-16R2: "[[TC]]/include"
1827 // CHECK-EL-SF-16R2: "-internal-externc-isystem"
1828 // CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/usr/include"
1829 // CHECK-EL-SF-16R2: "{{.*}}ld{{(.exe)?}}"
1830 // CHECK-EL-SF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el/sof"
1831 // CHECK-EL-SF-16R2: "-dynamic-linker" "/lib/ld.so.1"
1832 // CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1833 // CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1834 // CHECK-EL-SF-16R2: "[[TC]]/mips16/el/sof{{/|\\\\}}crtbegin.o"
1835 // CHECK-EL-SF-16R2: "-L[[TC]]/mips16/el/sof"
1836 // CHECK-EL-SF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el/sof"
1837 // CHECK-EL-SF-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib"
1838 // CHECK-EL-SF-16R2: "[[TC]]/mips16/el/sof{{/|\\\\}}crtend.o"
1839 // CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1840 //
1841 // = Little-endian, mips32r2 / mips16, nan2008
1842 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1843 // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mips16 -mnan=2008 \
1844 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1845 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-16R2 %s
1846 // CHECK-EL-NAN-16R2: "-internal-isystem"
1847 // CHECK-EL-NAN-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1848 // CHECK-EL-NAN-16R2: "-internal-isystem"
1849 // CHECK-EL-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el/nan2008"
1850 // CHECK-EL-NAN-16R2: "-internal-isystem"
1851 // CHECK-EL-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1852 // CHECK-EL-NAN-16R2: "-internal-externc-isystem"
1853 // CHECK-EL-NAN-16R2: "[[TC]]/include"
1854 // CHECK-EL-NAN-16R2: "-internal-externc-isystem"
1855 // CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/usr/include"
1856 // CHECK-EL-NAN-16R2: "{{.*}}ld{{(.exe)?}}"
1857 // CHECK-EL-NAN-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el/nan2008"
1858 // CHECK-EL-NAN-16R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1859 // CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1860 // CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1861 // CHECK-EL-NAN-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
1862 // CHECK-EL-NAN-16R2: "-L[[TC]]/mips16/el/nan2008"
1863 // CHECK-EL-NAN-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el/nan2008"
1864 // CHECK-EL-NAN-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib"
1865 // CHECK-EL-NAN-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtend.o"
1866 // CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1867 //
1868 // = Little-endian, mips32r2 / mips16, fp64, nan2008
1869 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1870 // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mips16 -mfp64 -mnan=2008 \
1871 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1872 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-16R2 %s
1873 // CHECK-EL-NAN64-16R2: "-internal-isystem"
1874 // CHECK-EL-NAN64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1875 // CHECK-EL-NAN64-16R2: "-internal-isystem"
1876 // CHECK-EL-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el/nan2008"
1877 // CHECK-EL-NAN64-16R2: "-internal-isystem"
1878 // CHECK-EL-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1879 // CHECK-EL-NAN64-16R2: "-internal-externc-isystem"
1880 // CHECK-EL-NAN64-16R2: "[[TC]]/include"
1881 // CHECK-EL-NAN64-16R2: "-internal-externc-isystem"
1882 // CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/usr/include"
1883 // CHECK-EL-NAN64-16R2: "{{.*}}ld{{(.exe)?}}"
1884 // CHECK-EL-NAN64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el/nan2008"
1885 // CHECK-EL-NAN64-16R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1886 // CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1887 // CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1888 // CHECK-EL-NAN64-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
1889 // CHECK-EL-NAN64-16R2: "-L[[TC]]/mips16/el/nan2008"
1890 // CHECK-EL-NAN64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el/nan2008"
1891 // CHECK-EL-NAN64-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib"
1892 // CHECK-EL-NAN64-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtend.o"
1893 // CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1894 //
1895 // = Little-endian, mips32r2, nan2008
1896 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1897 // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mnan=2008 \
1898 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1899 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-32R2 %s
1900 // CHECK-EL-NAN-32R2: "-internal-isystem"
1901 // CHECK-EL-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1902 // CHECK-EL-NAN-32R2: "-internal-isystem"
1903 // CHECK-EL-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/nan2008"
1904 // CHECK-EL-NAN-32R2: "-internal-isystem"
1905 // CHECK-EL-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1906 // CHECK-EL-NAN-32R2: "-internal-externc-isystem"
1907 // CHECK-EL-NAN-32R2: "[[TC]]/include"
1908 // CHECK-EL-NAN-32R2: "-internal-externc-isystem"
1909 // CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/usr/include"
1910 // CHECK-EL-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
1911 // CHECK-EL-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/el/nan2008"
1912 // CHECK-EL-NAN-32R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1913 // CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1914 // CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1915 // CHECK-EL-NAN-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtbegin.o"
1916 // CHECK-EL-NAN-32R2: "-L[[TC]]/el/nan2008"
1917 // CHECK-EL-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/nan2008"
1918 // CHECK-EL-NAN-32R2: "-L[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib"
1919 // CHECK-EL-NAN-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtend.o"
1920 // CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1921 //
1922 // = Little-endian, mips32r2, nan2008, uclibc
1923 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1924 // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mnan=2008 -muclibc \
1925 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1926 // RUN:   | FileCheck --check-prefix=CHECK-EL-UC-NAN-32R2 %s
1927 // CHECK-EL-UC-NAN-32R2: "-internal-isystem"
1928 // CHECK-EL-UC-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1929 // CHECK-EL-UC-NAN-32R2: "-internal-isystem"
1930 // CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/el/nan2008"
1931 // CHECK-EL-UC-NAN-32R2: "-internal-isystem"
1932 // CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1933 // CHECK-EL-UC-NAN-32R2: "-internal-externc-isystem"
1934 // CHECK-EL-UC-NAN-32R2: "[[TC]]/include"
1935 // CHECK-EL-UC-NAN-32R2: "-internal-externc-isystem"
1936 // CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
1937 // CHECK-EL-UC-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
1938 // CHECK-EL-UC-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/el/nan2008"
1939 // CHECK-EL-UC-NAN-32R2: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0"
1940 // CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1941 // CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1942 // CHECK-EL-UC-NAN-32R2: "[[TC]]/uclibc/el/nan2008{{/|\\\\}}crtbegin.o"
1943 // CHECK-EL-UC-NAN-32R2: "-L[[TC]]/uclibc/el/nan2008"
1944 // CHECK-EL-UC-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/el/nan2008"
1945 // CHECK-EL-UC-NAN-32R2: "-L[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib"
1946 // CHECK-EL-UC-NAN-32R2: "[[TC]]/uclibc/el/nan2008{{/|\\\\}}crtend.o"
1947 // CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1948 //
1949 // = Little-endian, mips32r2, fp64, nan2008
1950 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1951 // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mfp64 -mnan=2008 \
1952 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1953 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-32R2 %s
1954 // CHECK-EL-NAN64-32R2: "-internal-isystem"
1955 // CHECK-EL-NAN64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1956 // CHECK-EL-NAN64-32R2: "-internal-isystem"
1957 // CHECK-EL-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/nan2008"
1958 // CHECK-EL-NAN64-32R2: "-internal-isystem"
1959 // CHECK-EL-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1960 // CHECK-EL-NAN64-32R2: "-internal-externc-isystem"
1961 // CHECK-EL-NAN64-32R2: "[[TC]]/include"
1962 // CHECK-EL-NAN64-32R2: "-internal-externc-isystem"
1963 // CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/usr/include"
1964 // CHECK-EL-NAN64-32R2: "{{.*}}ld{{(.exe)?}}"
1965 // CHECK-EL-NAN64-32R2: "--sysroot=[[TC]]/../../../../sysroot/el/nan2008"
1966 // CHECK-EL-NAN64-32R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1967 // CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1968 // CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1969 // CHECK-EL-NAN64-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtbegin.o"
1970 // CHECK-EL-NAN64-32R2: "-L[[TC]]/el/nan2008"
1971 // CHECK-EL-NAN64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/nan2008"
1972 // CHECK-EL-NAN64-32R2: "-L[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib"
1973 // CHECK-EL-NAN64-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtend.o"
1974 // CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1975 //
1976 // = Little-endian, default (mips32r2), fp64, nan2008
1977 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1978 // RUN:     --target=mipsel-mti-linux-gnu -mfp64 -mnan=2008 \
1979 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1980 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-32R2-DEF %s
1981 // CHECK-EL-NAN64-32R2-DEF: "-internal-isystem"
1982 // CHECK-EL-NAN64-32R2-DEF: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1983 // CHECK-EL-NAN64-32R2-DEF: "-internal-isystem"
1984 // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/nan2008"
1985 // CHECK-EL-NAN64-32R2-DEF: "-internal-isystem"
1986 // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1987 // CHECK-EL-NAN64-32R2-DEF: "-internal-externc-isystem"
1988 // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/include"
1989 // CHECK-EL-NAN64-32R2-DEF: "-internal-externc-isystem"
1990 // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/usr/include"
1991 // CHECK-EL-NAN64-32R2-DEF: "{{.*}}ld{{(.exe)?}}"
1992 // CHECK-EL-NAN64-32R2-DEF: "--sysroot=[[TC]]/../../../../sysroot/el/nan2008"
1993 // CHECK-EL-NAN64-32R2-DEF: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1994 // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1995 // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1996 // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/el/nan2008{{/|\\\\}}crtbegin.o"
1997 // CHECK-EL-NAN64-32R2-DEF: "-L[[TC]]/el/nan2008"
1998 // CHECK-EL-NAN64-32R2-DEF: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/nan2008"
1999 // CHECK-EL-NAN64-32R2-DEF: "-L[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib"
2000 // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/el/nan2008{{/|\\\\}}crtend.o"
2001 // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
2002 //
2003 // = Little-endian, micromips, hard float
2004 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2005 // RUN:     --target=mipsel-mti-linux-gnu -mmicromips -mhard-float \
2006 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2007 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-MM %s
2008 // CHECK-EL-HF-MM: "-internal-isystem"
2009 // CHECK-EL-HF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2010 // CHECK-EL-HF-MM: "-internal-isystem"
2011 // CHECK-EL-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el"
2012 // CHECK-EL-HF-MM: "-internal-isystem"
2013 // CHECK-EL-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2014 // CHECK-EL-HF-MM: "-internal-externc-isystem"
2015 // CHECK-EL-HF-MM: "[[TC]]/include"
2016 // CHECK-EL-HF-MM: "-internal-externc-isystem"
2017 // CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/usr/include"
2018 // CHECK-EL-HF-MM: "{{.*}}ld{{(.exe)?}}"
2019 // CHECK-EL-HF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el"
2020 // CHECK-EL-HF-MM: "-dynamic-linker" "/lib/ld.so.1"
2021 // CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crt1.o"
2022 // CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crti.o"
2023 // CHECK-EL-HF-MM: "[[TC]]/micromips/el{{/|\\\\}}crtbegin.o"
2024 // CHECK-EL-HF-MM: "-L[[TC]]/micromips/el"
2025 // CHECK-EL-HF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el"
2026 // CHECK-EL-HF-MM: "-L[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib"
2027 // CHECK-EL-HF-MM: "[[TC]]/micromips/el{{/|\\\\}}crtend.o"
2028 // CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crtn.o"
2029 //
2030 // = Little-endian, micromips, fp64, hard float
2031 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2032 // RUN:     --target=mipsel-mti-linux-gnu -mmicromips -mfp64 -mhard-float \
2033 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2034 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-MM %s
2035 // CHECK-EL-HF64-MM: "-internal-isystem"
2036 // CHECK-EL-HF64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2037 // CHECK-EL-HF64-MM: "-internal-isystem"
2038 // CHECK-EL-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el"
2039 // CHECK-EL-HF64-MM: "-internal-isystem"
2040 // CHECK-EL-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2041 // CHECK-EL-HF64-MM: "-internal-externc-isystem"
2042 // CHECK-EL-HF64-MM: "[[TC]]/include"
2043 // CHECK-EL-HF64-MM: "-internal-externc-isystem"
2044 // CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/usr/include"
2045 // CHECK-EL-HF64-MM: "{{.*}}ld{{(.exe)?}}"
2046 // CHECK-EL-HF64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el"
2047 // CHECK-EL-HF64-MM: "-dynamic-linker" "/lib/ld.so.1"
2048 // CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crt1.o"
2049 // CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crti.o"
2050 // CHECK-EL-HF64-MM: "[[TC]]/micromips/el{{/|\\\\}}crtbegin.o"
2051 // CHECK-EL-HF64-MM: "-L[[TC]]/micromips/el"
2052 // CHECK-EL-HF64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el"
2053 // CHECK-EL-HF64-MM: "-L[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib"
2054 // CHECK-EL-HF64-MM: "[[TC]]/micromips/el{{/|\\\\}}crtend.o"
2055 // CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crtn.o"
2056 //
2057 // = Little-endian, micromips, soft float
2058 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2059 // RUN:     --target=mipsel-mti-linux-gnu -mmicromips -msoft-float \
2060 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2061 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-MM %s
2062 // CHECK-EL-SF-MM: "-internal-isystem"
2063 // CHECK-EL-SF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2064 // CHECK-EL-SF-MM: "-internal-isystem"
2065 // CHECK-EL-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el/sof"
2066 // CHECK-EL-SF-MM: "-internal-isystem"
2067 // CHECK-EL-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2068 // CHECK-EL-SF-MM: "-internal-externc-isystem"
2069 // CHECK-EL-SF-MM: "[[TC]]/include"
2070 // CHECK-EL-SF-MM: "-internal-externc-isystem"
2071 // CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/usr/include"
2072 // CHECK-EL-SF-MM: "{{.*}}ld{{(.exe)?}}"
2073 // CHECK-EL-SF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el/sof"
2074 // CHECK-EL-SF-MM: "-dynamic-linker" "/lib/ld.so.1"
2075 // CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
2076 // CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
2077 // CHECK-EL-SF-MM: "[[TC]]/micromips/el/sof{{/|\\\\}}crtbegin.o"
2078 // CHECK-EL-SF-MM: "-L[[TC]]/micromips/el/sof"
2079 // CHECK-EL-SF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el/sof"
2080 // CHECK-EL-SF-MM: "-L[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib"
2081 // CHECK-EL-SF-MM: "[[TC]]/micromips/el/sof{{/|\\\\}}crtend.o"
2082 // CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
2083 //
2084 // = Little-endian, micromips, nan2008
2085 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2086 // RUN:     --target=mipsel-mti-linux-gnu -mmicromips -mnan=2008 \
2087 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2088 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-MM %s
2089 // CHECK-EL-NAN-MM: "-internal-isystem"
2090 // CHECK-EL-NAN-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2091 // CHECK-EL-NAN-MM: "-internal-isystem"
2092 // CHECK-EL-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el/nan2008"
2093 // CHECK-EL-NAN-MM: "-internal-isystem"
2094 // CHECK-EL-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2095 // CHECK-EL-NAN-MM: "-internal-externc-isystem"
2096 // CHECK-EL-NAN-MM: "[[TC]]/include"
2097 // CHECK-EL-NAN-MM: "-internal-externc-isystem"
2098 // CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/usr/include"
2099 // CHECK-EL-NAN-MM: "{{.*}}ld{{(.exe)?}}"
2100 // CHECK-EL-NAN-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el/nan2008"
2101 // CHECK-EL-NAN-MM: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
2102 // CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
2103 // CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
2104 // CHECK-EL-NAN-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtbegin.o"
2105 // CHECK-EL-NAN-MM: "-L[[TC]]/micromips/el/nan2008"
2106 // CHECK-EL-NAN-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el/nan2008"
2107 // CHECK-EL-NAN-MM: "-L[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib"
2108 // CHECK-EL-NAN-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtend.o"
2109 // CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
2110 //
2111 // = Little-endian, micromips, fp64, nan2008
2112 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2113 // RUN:     --target=mipsel-mti-linux-gnu -mmicromips -mfp64 -mnan=2008 \
2114 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2115 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-MM %s
2116 // CHECK-EL-NAN64-MM: "-internal-isystem"
2117 // CHECK-EL-NAN64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2118 // CHECK-EL-NAN64-MM: "-internal-isystem"
2119 // CHECK-EL-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el/nan2008"
2120 // CHECK-EL-NAN64-MM: "-internal-isystem"
2121 // CHECK-EL-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2122 // CHECK-EL-NAN64-MM: "-internal-externc-isystem"
2123 // CHECK-EL-NAN64-MM: "[[TC]]/include"
2124 // CHECK-EL-NAN64-MM: "-internal-externc-isystem"
2125 // CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/usr/include"
2126 // CHECK-EL-NAN64-MM: "{{.*}}ld{{(.exe)?}}"
2127 // CHECK-EL-NAN64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el/nan2008"
2128 // CHECK-EL-NAN64-MM: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
2129 // CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
2130 // CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
2131 // CHECK-EL-NAN64-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtbegin.o"
2132 // CHECK-EL-NAN64-MM: "-L[[TC]]/micromips/el/nan2008"
2133 // CHECK-EL-NAN64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el/nan2008"
2134 // CHECK-EL-NAN64-MM: "-L[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib"
2135 // CHECK-EL-NAN64-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtend.o"
2136 // CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
2137 //
2138 // = Little-endian, mips64, ABI n32, hard float
2139 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2140 // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=n32 -mhard-float \
2141 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2142 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-64-N32 %s
2143 // CHECK-EL-HF-64-N32: "-internal-isystem"
2144 // CHECK-EL-HF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2145 // CHECK-EL-HF-64-N32: "-internal-isystem"
2146 // CHECK-EL-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el"
2147 // CHECK-EL-HF-64-N32: "-internal-isystem"
2148 // CHECK-EL-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2149 // CHECK-EL-HF-64-N32: "-internal-externc-isystem"
2150 // CHECK-EL-HF-64-N32: "[[TC]]/include"
2151 // CHECK-EL-HF-64-N32: "-internal-externc-isystem"
2152 // CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
2153 // CHECK-EL-HF-64-N32: "{{.*}}ld{{(.exe)?}}"
2154 // CHECK-EL-HF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el"
2155 // CHECK-EL-HF-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
2156 // CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crt1.o"
2157 // CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crti.o"
2158 // CHECK-EL-HF-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtbegin.o"
2159 // CHECK-EL-HF-64-N32: "-L[[TC]]/mips64/el"
2160 // CHECK-EL-HF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el"
2161 // CHECK-EL-HF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/usr/lib"
2162 // CHECK-EL-HF-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtend.o"
2163 // CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crtn.o"
2164 //
2165 // = Little-endian, mips64, ABI n32, fp64, hard float
2166 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2167 // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=n32 -mfp64 -mhard-float \
2168 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2169 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-64-N32 %s
2170 // CHECK-EL-HF64-64-N32: "-internal-isystem"
2171 // CHECK-EL-HF64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2172 // CHECK-EL-HF64-64-N32: "-internal-isystem"
2173 // CHECK-EL-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el"
2174 // CHECK-EL-HF64-64-N32: "-internal-isystem"
2175 // CHECK-EL-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2176 // CHECK-EL-HF64-64-N32: "-internal-externc-isystem"
2177 // CHECK-EL-HF64-64-N32: "[[TC]]/include"
2178 // CHECK-EL-HF64-64-N32: "-internal-externc-isystem"
2179 // CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
2180 // CHECK-EL-HF64-64-N32: "{{.*}}ld{{(.exe)?}}"
2181 // CHECK-EL-HF64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el"
2182 // CHECK-EL-HF64-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
2183 // CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crt1.o"
2184 // CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crti.o"
2185 // CHECK-EL-HF64-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtbegin.o"
2186 // CHECK-EL-HF64-64-N32: "-L[[TC]]/mips64/el"
2187 // CHECK-EL-HF64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el"
2188 // CHECK-EL-HF64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/usr/lib"
2189 // CHECK-EL-HF64-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtend.o"
2190 // CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crtn.o"
2191 //
2192 // = Little-endian, mips64, ABI n32, soft float
2193 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2194 // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=n32 -msoft-float \
2195 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2196 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-64-N32 %s
2197 // CHECK-EL-SF-64-N32: "-internal-isystem"
2198 // CHECK-EL-SF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2199 // CHECK-EL-SF-64-N32: "-internal-isystem"
2200 // CHECK-EL-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el/sof"
2201 // CHECK-EL-SF-64-N32: "-internal-isystem"
2202 // CHECK-EL-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2203 // CHECK-EL-SF-64-N32: "-internal-externc-isystem"
2204 // CHECK-EL-SF-64-N32: "[[TC]]/include"
2205 // CHECK-EL-SF-64-N32: "-internal-externc-isystem"
2206 // CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
2207 // CHECK-EL-SF-64-N32: "{{.*}}ld{{(.exe)?}}"
2208 // CHECK-EL-SF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el/sof"
2209 // CHECK-EL-SF-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
2210 // CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib{{/|\\\\}}crt1.o"
2211 // CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib{{/|\\\\}}crti.o"
2212 // CHECK-EL-SF-64-N32: "[[TC]]/mips64/el/sof{{/|\\\\}}crtbegin.o"
2213 // CHECK-EL-SF-64-N32: "-L[[TC]]/mips64/el/sof"
2214 // CHECK-EL-SF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el/sof"
2215 // CHECK-EL-SF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib"
2216 // CHECK-EL-SF-64-N32: "[[TC]]/mips64/el/sof{{/|\\\\}}crtend.o"
2217 // CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib{{/|\\\\}}crtn.o"
2218 //
2219 // = Little-endian, mips64, ABI n32, nan2008
2220 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2221 // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=n32 -mnan=2008 \
2222 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2223 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-64-N32 %s
2224 // CHECK-EL-NAN-64-N32: "-internal-isystem"
2225 // CHECK-EL-NAN-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2226 // CHECK-EL-NAN-64-N32: "-internal-isystem"
2227 // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el/nan2008"
2228 // CHECK-EL-NAN-64-N32: "-internal-isystem"
2229 // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2230 // CHECK-EL-NAN-64-N32: "-internal-externc-isystem"
2231 // CHECK-EL-NAN-64-N32: "[[TC]]/include"
2232 // CHECK-EL-NAN-64-N32: "-internal-externc-isystem"
2233 // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/usr/include"
2234 // CHECK-EL-NAN-64-N32: "{{.*}}ld{{(.exe)?}}"
2235 // CHECK-EL-NAN-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el/nan2008"
2236 // CHECK-EL-NAN-64-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
2237 // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2238 // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2239 // CHECK-EL-NAN-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtbegin.o"
2240 // CHECK-EL-NAN-64-N32: "-L[[TC]]/mips64/el/nan2008"
2241 // CHECK-EL-NAN-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el/nan2008"
2242 // CHECK-EL-NAN-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib"
2243 // CHECK-EL-NAN-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtend.o"
2244 // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2245 //
2246 // = Little-endian, mips64, ABI n32, fp64, nan2008
2247 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2248 // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=n32 -mfp64 -mnan=2008 \
2249 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2250 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-64-N32 %s
2251 // CHECK-EL-NAN64-64-N32: "-internal-isystem"
2252 // CHECK-EL-NAN64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2253 // CHECK-EL-NAN64-64-N32: "-internal-isystem"
2254 // CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el/nan2008"
2255 // CHECK-EL-NAN64-64-N32: "-internal-isystem"
2256 // CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2257 // CHECK-EL-NAN64-64-N32: "-internal-externc-isystem"
2258 // CHECK-EL-NAN64-64-N32: "[[TC]]/include"
2259 // CHECK-EL-NAN64-64-N32: "-internal-externc-isystem"
2260 // CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
2261 // CHECK-EL-NAN64-64-N32: "{{.*}}ld{{(.exe)?}}"
2262 // CHECK-EL-NAN64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el/nan2008"
2263 // CHECK-EL-NAN64-64-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
2264 // CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2265 // CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2266 // CHECK-EL-NAN64-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtbegin.o"
2267 // CHECK-EL-NAN64-64-N32: "-L[[TC]]/mips64/el/nan2008"
2268 // CHECK-EL-NAN64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el/nan2008"
2269 // CHECK-EL-NAN64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib"
2270 // CHECK-EL-NAN64-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtend.o"
2271 // CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2272 //
2273 // = Little-endian, mips64, ABI 64, hard float
2274 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2275 // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=64 -mhard-float \
2276 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2277 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-64-64 %s
2278 // CHECK-EL-HF-64-64: "-internal-isystem"
2279 // CHECK-EL-HF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2280 // CHECK-EL-HF-64-64: "-internal-isystem"
2281 // CHECK-EL-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el"
2282 // CHECK-EL-HF-64-64: "-internal-isystem"
2283 // CHECK-EL-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2284 // CHECK-EL-HF-64-64: "-internal-externc-isystem"
2285 // CHECK-EL-HF-64-64: "[[TC]]/include"
2286 // CHECK-EL-HF-64-64: "-internal-externc-isystem"
2287 // CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/usr/include"
2288 // CHECK-EL-HF-64-64: "{{.*}}ld{{(.exe)?}}"
2289 // CHECK-EL-HF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el"
2290 // CHECK-EL-HF-64-64: "-dynamic-linker" "/lib64/ld.so.1"
2291 // CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crt1.o"
2292 // CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crti.o"
2293 // CHECK-EL-HF-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtbegin.o"
2294 // CHECK-EL-HF-64-64: "-L[[TC]]/mips64/64/el"
2295 // CHECK-EL-HF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el"
2296 // CHECK-EL-HF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/usr/lib"
2297 // CHECK-EL-HF-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtend.o"
2298 // CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crtn.o"
2299 //
2300 // = Little-endian, mips64, ABI 64, fp64, hard float
2301 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2302 // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=64 -mfp64 -mhard-float \
2303 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2304 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-64-64 %s
2305 // CHECK-EL-HF64-64-64: "-internal-isystem"
2306 // CHECK-EL-HF64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2307 // CHECK-EL-HF64-64-64: "-internal-isystem"
2308 // CHECK-EL-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el"
2309 // CHECK-EL-HF64-64-64: "-internal-isystem"
2310 // CHECK-EL-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2311 // CHECK-EL-HF64-64-64: "-internal-externc-isystem"
2312 // CHECK-EL-HF64-64-64: "[[TC]]/include"
2313 // CHECK-EL-HF64-64-64: "-internal-externc-isystem"
2314 // CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/usr/include"
2315 // CHECK-EL-HF64-64-64: "{{.*}}ld{{(.exe)?}}"
2316 // CHECK-EL-HF64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el"
2317 // CHECK-EL-HF64-64-64: "-dynamic-linker" "/lib64/ld.so.1"
2318 // CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crt1.o"
2319 // CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crti.o"
2320 // CHECK-EL-HF64-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtbegin.o"
2321 // CHECK-EL-HF64-64-64: "-L[[TC]]/mips64/64/el"
2322 // CHECK-EL-HF64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el"
2323 // CHECK-EL-HF64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/usr/lib"
2324 // CHECK-EL-HF64-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtend.o"
2325 // CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crtn.o"
2326 //
2327 // = Little-endian, mips64, ABI 64, soft float
2328 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2329 // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=64 -msoft-float \
2330 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2331 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-64-64 %s
2332 // CHECK-EL-SF-64-64: "-internal-isystem"
2333 // CHECK-EL-SF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2334 // CHECK-EL-SF-64-64: "-internal-isystem"
2335 // CHECK-EL-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el/sof"
2336 // CHECK-EL-SF-64-64: "-internal-isystem"
2337 // CHECK-EL-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2338 // CHECK-EL-SF-64-64: "-internal-externc-isystem"
2339 // CHECK-EL-SF-64-64: "[[TC]]/include"
2340 // CHECK-EL-SF-64-64: "-internal-externc-isystem"
2341 // CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/usr/include"
2342 // CHECK-EL-SF-64-64: "{{.*}}ld{{(.exe)?}}"
2343 // CHECK-EL-SF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el/sof"
2344 // CHECK-EL-SF-64-64: "-dynamic-linker" "/lib64/ld.so.1"
2345 // CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib{{/|\\\\}}crt1.o"
2346 // CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib{{/|\\\\}}crti.o"
2347 // CHECK-EL-SF-64-64: "[[TC]]/mips64/64/el/sof{{/|\\\\}}crtbegin.o"
2348 // CHECK-EL-SF-64-64: "-L[[TC]]/mips64/64/el/sof"
2349 // CHECK-EL-SF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el/sof"
2350 // CHECK-EL-SF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib"
2351 // CHECK-EL-SF-64-64: "[[TC]]/mips64/64/el/sof{{/|\\\\}}crtend.o"
2352 // CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib{{/|\\\\}}crtn.o"
2353 //
2354 // = Little-endian, mips64, ABI 64, nan2008
2355 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2356 // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=64 -mnan=2008 \
2357 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2358 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-64-64 %s
2359 // CHECK-EL-NAN-64-64: "-internal-isystem"
2360 // CHECK-EL-NAN-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2361 // CHECK-EL-NAN-64-64: "-internal-isystem"
2362 // CHECK-EL-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el/nan2008"
2363 // CHECK-EL-NAN-64-64: "-internal-isystem"
2364 // CHECK-EL-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2365 // CHECK-EL-NAN-64-64: "-internal-externc-isystem"
2366 // CHECK-EL-NAN-64-64: "[[TC]]/include"
2367 // CHECK-EL-NAN-64-64: "-internal-externc-isystem"
2368 // CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/usr/include"
2369 // CHECK-EL-NAN-64-64: "{{.*}}ld{{(.exe)?}}"
2370 // CHECK-EL-NAN-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el/nan2008"
2371 // CHECK-EL-NAN-64-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
2372 // CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2373 // CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2374 // CHECK-EL-NAN-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtbegin.o"
2375 // CHECK-EL-NAN-64-64: "-L[[TC]]/mips64/64/el/nan2008"
2376 // CHECK-EL-NAN-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el/nan2008"
2377 // CHECK-EL-NAN-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib"
2378 // CHECK-EL-NAN-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtend.o"
2379 // CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2380 //
2381 // = Little-endian, mips64, ABI 64, fp64, nan2008
2382 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2383 // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=64 -mfp64 -mnan=2008 \
2384 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2385 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-64-64 %s
2386 // CHECK-EL-NAN64-64-64: "-internal-isystem"
2387 // CHECK-EL-NAN64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2388 // CHECK-EL-NAN64-64-64: "-internal-isystem"
2389 // CHECK-EL-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el/nan2008"
2390 // CHECK-EL-NAN64-64-64: "-internal-isystem"
2391 // CHECK-EL-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2392 // CHECK-EL-NAN64-64-64: "-internal-externc-isystem"
2393 // CHECK-EL-NAN64-64-64: "[[TC]]/include"
2394 // CHECK-EL-NAN64-64-64: "-internal-externc-isystem"
2395 // CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/usr/include"
2396 // CHECK-EL-NAN64-64-64: "{{.*}}ld{{(.exe)?}}"
2397 // CHECK-EL-NAN64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el/nan2008"
2398 // CHECK-EL-NAN64-64-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
2399 // CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2400 // CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2401 // CHECK-EL-NAN64-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtbegin.o"
2402 // CHECK-EL-NAN64-64-64: "-L[[TC]]/mips64/64/el/nan2008"
2403 // CHECK-EL-NAN64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el/nan2008"
2404 // CHECK-EL-NAN64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib"
2405 // CHECK-EL-NAN64-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtend.o"
2406 // CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2407 //
2408 // = Little-endian, mips64r2, ABI n32, hard float
2409 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2410 // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=n32 -mhard-float \
2411 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2412 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-64R2-N32 %s
2413 // CHECK-EL-HF-64R2-N32: "-internal-isystem"
2414 // CHECK-EL-HF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2415 // CHECK-EL-HF-64R2-N32: "-internal-isystem"
2416 // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el"
2417 // CHECK-EL-HF-64R2-N32: "-internal-isystem"
2418 // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2419 // CHECK-EL-HF-64R2-N32: "-internal-externc-isystem"
2420 // CHECK-EL-HF-64R2-N32: "[[TC]]/include"
2421 // CHECK-EL-HF-64R2-N32: "-internal-externc-isystem"
2422 // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2423 // CHECK-EL-HF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
2424 // CHECK-EL-HF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el"
2425 // CHECK-EL-HF-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
2426 // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crt1.o"
2427 // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crti.o"
2428 // CHECK-EL-HF-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtbegin.o"
2429 // CHECK-EL-HF-64R2-N32: "-L[[TC]]/mips64r2/el"
2430 // CHECK-EL-HF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el"
2431 // CHECK-EL-HF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/usr/lib"
2432 // CHECK-EL-HF-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtend.o"
2433 // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crtn.o"
2434 //
2435 // = Little-endian, mips64r2, ABI n32, fp64, hard float
2436 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2437 // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mhard-float \
2438 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2439 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-64R2-N32 %s
2440 // CHECK-EL-HF64-64R2-N32: "-internal-isystem"
2441 // CHECK-EL-HF64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2442 // CHECK-EL-HF64-64R2-N32: "-internal-isystem"
2443 // CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el"
2444 // CHECK-EL-HF64-64R2-N32: "-internal-isystem"
2445 // CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2446 // CHECK-EL-HF64-64R2-N32: "-internal-externc-isystem"
2447 // CHECK-EL-HF64-64R2-N32: "[[TC]]/include"
2448 // CHECK-EL-HF64-64R2-N32: "-internal-externc-isystem"
2449 // CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2450 // CHECK-EL-HF64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
2451 // CHECK-EL-HF64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el"
2452 // CHECK-EL-HF64-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
2453 // CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crt1.o"
2454 // CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crti.o"
2455 // CHECK-EL-HF64-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtbegin.o"
2456 // CHECK-EL-HF64-64R2-N32: "-L[[TC]]/mips64r2/el"
2457 // CHECK-EL-HF64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el"
2458 // CHECK-EL-HF64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/usr/lib"
2459 // CHECK-EL-HF64-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtend.o"
2460 // CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crtn.o"
2461 //
2462 // = Little-endian, mips64r2, ABI n32, soft float
2463 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2464 // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=n32 -msoft-float \
2465 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2466 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-64R2-N32 %s
2467 // CHECK-EL-SF-64R2-N32: "-internal-isystem"
2468 // CHECK-EL-SF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2469 // CHECK-EL-SF-64R2-N32: "-internal-isystem"
2470 // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el/sof"
2471 // CHECK-EL-SF-64R2-N32: "-internal-isystem"
2472 // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2473 // CHECK-EL-SF-64R2-N32: "-internal-externc-isystem"
2474 // CHECK-EL-SF-64R2-N32: "[[TC]]/include"
2475 // CHECK-EL-SF-64R2-N32: "-internal-externc-isystem"
2476 // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2477 // CHECK-EL-SF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
2478 // CHECK-EL-SF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el/sof"
2479 // CHECK-EL-SF-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
2480 // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib{{/|\\\\}}crt1.o"
2481 // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib{{/|\\\\}}crti.o"
2482 // CHECK-EL-SF-64R2-N32: "[[TC]]/mips64r2/el/sof{{/|\\\\}}crtbegin.o"
2483 // CHECK-EL-SF-64R2-N32: "-L[[TC]]/mips64r2/el/sof"
2484 // CHECK-EL-SF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el/sof"
2485 // CHECK-EL-SF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib"
2486 // CHECK-EL-SF-64R2-N32: "[[TC]]/mips64r2/el/sof{{/|\\\\}}crtend.o"
2487 // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib{{/|\\\\}}crtn.o"
2488 //
2489 // = Little-endian, mips64r2, ABI n32, nan2008
2490 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2491 // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=n32 -mnan=2008 \
2492 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2493 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-64R2-N32 %s
2494 // CHECK-EL-NAN-64R2-N32: "-internal-isystem"
2495 // CHECK-EL-NAN-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2496 // CHECK-EL-NAN-64R2-N32: "-internal-isystem"
2497 // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el/nan2008"
2498 // CHECK-EL-NAN-64R2-N32: "-internal-isystem"
2499 // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2500 // CHECK-EL-NAN-64R2-N32: "-internal-externc-isystem"
2501 // CHECK-EL-NAN-64R2-N32: "[[TC]]/include"
2502 // CHECK-EL-NAN-64R2-N32: "-internal-externc-isystem"
2503 // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2504 // CHECK-EL-NAN-64R2-N32: "{{.*}}ld{{(.exe)?}}"
2505 // CHECK-EL-NAN-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el/nan2008"
2506 // CHECK-EL-NAN-64R2-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
2507 // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2508 // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2509 // CHECK-EL-NAN-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtbegin.o"
2510 // CHECK-EL-NAN-64R2-N32: "-L[[TC]]/mips64r2/el/nan2008"
2511 // CHECK-EL-NAN-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el/nan2008"
2512 // CHECK-EL-NAN-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib"
2513 // CHECK-EL-NAN-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtend.o"
2514 // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2515 //
2516 // = Little-endian, mips64r2, ABI n32, fp64, nan2008
2517 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2518 // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mnan=2008 \
2519 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2520 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-64R2-N32 %s
2521 // CHECK-EL-NAN64-64R2-N32: "-internal-isystem"
2522 // CHECK-EL-NAN64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2523 // CHECK-EL-NAN64-64R2-N32: "-internal-isystem"
2524 // CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el/nan2008"
2525 // CHECK-EL-NAN64-64R2-N32: "-internal-isystem"
2526 // CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2527 // CHECK-EL-NAN64-64R2-N32: "-internal-externc-isystem"
2528 // CHECK-EL-NAN64-64R2-N32: "[[TC]]/include"
2529 // CHECK-EL-NAN64-64R2-N32: "-internal-externc-isystem"
2530 // CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2531 // CHECK-EL-NAN64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
2532 // CHECK-EL-NAN64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el/nan2008"
2533 // CHECK-EL-NAN64-64R2-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
2534 // CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2535 // CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2536 // CHECK-EL-NAN64-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtbegin.o"
2537 // CHECK-EL-NAN64-64R2-N32: "-L[[TC]]/mips64r2/el/nan2008"
2538 // CHECK-EL-NAN64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el/nan2008"
2539 // CHECK-EL-NAN64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib"
2540 // CHECK-EL-NAN64-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtend.o"
2541 // CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2542 //
2543 // = Little-endian, mips64r2, ABI 64, hard float
2544 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2545 // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=64 -mhard-float \
2546 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2547 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-64R2-64 %s
2548 // CHECK-EL-HF-64R2-64: "-internal-isystem"
2549 // CHECK-EL-HF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2550 // CHECK-EL-HF-64R2-64: "-internal-isystem"
2551 // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el"
2552 // CHECK-EL-HF-64R2-64: "-internal-isystem"
2553 // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2554 // CHECK-EL-HF-64R2-64: "-internal-externc-isystem"
2555 // CHECK-EL-HF-64R2-64: "[[TC]]/include"
2556 // CHECK-EL-HF-64R2-64: "-internal-externc-isystem"
2557 // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2558 // CHECK-EL-HF-64R2-64: "{{.*}}ld{{(.exe)?}}"
2559 // CHECK-EL-HF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el"
2560 // CHECK-EL-HF-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
2561 // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crt1.o"
2562 // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crti.o"
2563 // CHECK-EL-HF-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtbegin.o"
2564 // CHECK-EL-HF-64R2-64: "-L[[TC]]/mips64r2/64/el"
2565 // CHECK-EL-HF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el"
2566 // CHECK-EL-HF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib"
2567 // CHECK-EL-HF-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtend.o"
2568 // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crtn.o"
2569 //
2570 // = Little-endian, mips64r2, ABI 64, fp64, hard float
2571 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2572 // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=64 -mfp64 -mhard-float \
2573 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2574 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-64R2-64 %s
2575 // CHECK-EL-HF64-64R2-64: "-internal-isystem"
2576 // CHECK-EL-HF64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2577 // CHECK-EL-HF64-64R2-64: "-internal-isystem"
2578 // CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el"
2579 // CHECK-EL-HF64-64R2-64: "-internal-isystem"
2580 // CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2581 // CHECK-EL-HF64-64R2-64: "-internal-externc-isystem"
2582 // CHECK-EL-HF64-64R2-64: "[[TC]]/include"
2583 // CHECK-EL-HF64-64R2-64: "-internal-externc-isystem"
2584 // CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2585 // CHECK-EL-HF64-64R2-64: "{{.*}}ld{{(.exe)?}}"
2586 // CHECK-EL-HF64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el"
2587 // CHECK-EL-HF64-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
2588 // CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crt1.o"
2589 // CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crti.o"
2590 // CHECK-EL-HF64-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtbegin.o"
2591 // CHECK-EL-HF64-64R2-64: "-L[[TC]]/mips64r2/64/el"
2592 // CHECK-EL-HF64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el"
2593 // CHECK-EL-HF64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib"
2594 // CHECK-EL-HF64-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtend.o"
2595 // CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crtn.o"
2596 //
2597 // = Little-endian, mips64r2, ABI 64, soft float
2598 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2599 // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=64 -msoft-float \
2600 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2601 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-64R2-64 %s
2602 // CHECK-EL-SF-64R2-64: "-internal-isystem"
2603 // CHECK-EL-SF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2604 // CHECK-EL-SF-64R2-64: "-internal-isystem"
2605 // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/sof"
2606 // CHECK-EL-SF-64R2-64: "-internal-isystem"
2607 // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2608 // CHECK-EL-SF-64R2-64: "-internal-externc-isystem"
2609 // CHECK-EL-SF-64R2-64: "[[TC]]/include"
2610 // CHECK-EL-SF-64R2-64: "-internal-externc-isystem"
2611 // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2612 // CHECK-EL-SF-64R2-64: "{{.*}}ld{{(.exe)?}}"
2613 // CHECK-EL-SF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/sof"
2614 // CHECK-EL-SF-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
2615 // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib{{/|\\\\}}crt1.o"
2616 // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib{{/|\\\\}}crti.o"
2617 // CHECK-EL-SF-64R2-64: "[[TC]]/mips64r2/64/el/sof{{/|\\\\}}crtbegin.o"
2618 // CHECK-EL-SF-64R2-64: "-L[[TC]]/mips64r2/64/el/sof"
2619 // CHECK-EL-SF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/sof"
2620 // CHECK-EL-SF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib"
2621 // CHECK-EL-SF-64R2-64: "[[TC]]/mips64r2/64/el/sof{{/|\\\\}}crtend.o"
2622 // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib{{/|\\\\}}crtn.o"
2623 //
2624 // = Little-endian, mips64r2, ABI 64, nan2008
2625 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2626 // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=64 -mnan=2008 \
2627 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2628 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-64R2-64 %s
2629 // CHECK-EL-NAN-64R2-64: "-internal-isystem"
2630 // CHECK-EL-NAN-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2631 // CHECK-EL-NAN-64R2-64: "-internal-isystem"
2632 // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/nan2008"
2633 // CHECK-EL-NAN-64R2-64: "-internal-isystem"
2634 // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2635 // CHECK-EL-NAN-64R2-64: "-internal-externc-isystem"
2636 // CHECK-EL-NAN-64R2-64: "[[TC]]/include"
2637 // CHECK-EL-NAN-64R2-64: "-internal-externc-isystem"
2638 // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2639 // CHECK-EL-NAN-64R2-64: "{{.*}}ld{{(.exe)?}}"
2640 // CHECK-EL-NAN-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008"
2641 // CHECK-EL-NAN-64R2-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
2642 // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2643 // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2644 // CHECK-EL-NAN-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtbegin.o"
2645 // CHECK-EL-NAN-64R2-64: "-L[[TC]]/mips64r2/64/el/nan2008"
2646 // CHECK-EL-NAN-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/nan2008"
2647 // CHECK-EL-NAN-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib"
2648 // CHECK-EL-NAN-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtend.o"
2649 // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2650 //
2651 // = Little-endian, mips64r2, ABI 64, fp64, nan2008
2652 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2653 // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=64 -mfp64 -mnan=2008 \
2654 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2655 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-64R2-64 %s
2656 // CHECK-EL-NAN64-64R2-64: "-internal-isystem"
2657 // CHECK-EL-NAN64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2658 // CHECK-EL-NAN64-64R2-64: "-internal-isystem"
2659 // CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/nan2008"
2660 // CHECK-EL-NAN64-64R2-64: "-internal-isystem"
2661 // CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2662 // CHECK-EL-NAN64-64R2-64: "-internal-externc-isystem"
2663 // CHECK-EL-NAN64-64R2-64: "[[TC]]/include"
2664 // CHECK-EL-NAN64-64R2-64: "-internal-externc-isystem"
2665 // CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2666 // CHECK-EL-NAN64-64R2-64: "{{.*}}ld{{(.exe)?}}"
2667 // CHECK-EL-NAN64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008"
2668 // CHECK-EL-NAN64-64R2-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
2669 // CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2670 // CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2671 // CHECK-EL-NAN64-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtbegin.o"
2672 // CHECK-EL-NAN64-64R2-64: "-L[[TC]]/mips64r2/64/el/nan2008"
2673 // CHECK-EL-NAN64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/nan2008"
2674 // CHECK-EL-NAN64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib"
2675 // CHECK-EL-NAN64-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtend.o"
2676 // CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2677 //
2678 // = Little-endian, default (mips64r2), ABI 64, fp64, nan2008
2679 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2680 // RUN:     --target=mips64el-mti-linux-gnu -mabi=64 -mfp64 -mnan=2008 \
2681 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2682 // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-64R2-64-DEF %s
2683 // CHECK-EL-NAN64-64R2-64-DEF: "-internal-isystem"
2684 // CHECK-EL-NAN64-64R2-64-DEF: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2685 // CHECK-EL-NAN64-64R2-64-DEF: "-internal-isystem"
2686 // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/nan2008"
2687 // CHECK-EL-NAN64-64R2-64-DEF: "-internal-isystem"
2688 // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2689 // CHECK-EL-NAN64-64R2-64-DEF: "-internal-externc-isystem"
2690 // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/include"
2691 // CHECK-EL-NAN64-64R2-64-DEF: "-internal-externc-isystem"
2692 // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/usr/include"
2693 // CHECK-EL-NAN64-64R2-64-DEF: "{{.*}}ld{{(.exe)?}}"
2694 // CHECK-EL-NAN64-64R2-64-DEF: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008"
2695 // CHECK-EL-NAN64-64R2-64-DEF: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
2696 // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2697 // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2698 // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtbegin.o"
2699 // CHECK-EL-NAN64-64R2-64-DEF: "-L[[TC]]/mips64r2/64/el/nan2008"
2700 // CHECK-EL-NAN64-64R2-64-DEF: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/nan2008"
2701 // CHECK-EL-NAN64-64R2-64-DEF: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib"
2702 // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtend.o"
2703 // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2704 //
2705 // Check that mips32r3 and mips32r5 are equal to mips32r2
2706 //
2707 // = Big-endian, mips32r3, hard float
2708 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2709 // RUN:     --target=mips-mti-linux-gnu -mips32r3 -mhard-float \
2710 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2711 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-32R3 %s
2712 // CHECK-BE-HF-32R3: "-internal-isystem"
2713 // CHECK-BE-HF-32R3: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2714 // CHECK-BE-HF-32R3: "-internal-isystem"
2715 // CHECK-BE-HF-32R3: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu"
2716 // CHECK-BE-HF-32R3: "-internal-isystem"
2717 // CHECK-BE-HF-32R3: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2718 // CHECK-BE-HF-32R3: "-internal-externc-isystem"
2719 // CHECK-BE-HF-32R3: "[[TC]]/include"
2720 // CHECK-BE-HF-32R3: "-internal-externc-isystem"
2721 // CHECK-BE-HF-32R3: "[[TC]]/../../../../sysroot/usr/include"
2722 // CHECK-BE-HF-32R3: "{{.*}}ld{{(.exe)?}}"
2723 // CHECK-BE-HF-32R3: "--sysroot=[[TC]]/../../../../sysroot"
2724 // CHECK-BE-HF-32R3: "-dynamic-linker" "/lib/ld.so.1"
2725 // CHECK-BE-HF-32R3: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crt1.o"
2726 // CHECK-BE-HF-32R3: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crti.o"
2727 // CHECK-BE-HF-32R3: "[[TC]]{{/|\\\\}}crtbegin.o"
2728 // CHECK-BE-HF-32R3: "-L[[TC]]"
2729 // CHECK-BE-HF-32R3: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib"
2730 // CHECK-BE-HF-32R3: "-L[[TC]]/../../../../sysroot/usr/lib/../lib"
2731 // CHECK-BE-HF-32R3: "[[TC]]{{/|\\\\}}crtend.o"
2732 // CHECK-BE-HF-32R3: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crtn.o"
2733 //
2734 // = Big-endian, mips32r5, hard float
2735 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2736 // RUN:     --target=mips-mti-linux-gnu -mips32r5 -mhard-float \
2737 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2738 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-32R5 %s
2739 // CHECK-BE-HF-32R5: "-internal-isystem"
2740 // CHECK-BE-HF-32R5: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2741 // CHECK-BE-HF-32R5: "-internal-isystem"
2742 // CHECK-BE-HF-32R5: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu"
2743 // CHECK-BE-HF-32R5: "-internal-isystem"
2744 // CHECK-BE-HF-32R5: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2745 // CHECK-BE-HF-32R5: "-internal-externc-isystem"
2746 // CHECK-BE-HF-32R5: "[[TC]]/include"
2747 // CHECK-BE-HF-32R5: "-internal-externc-isystem"
2748 // CHECK-BE-HF-32R5: "[[TC]]/../../../../sysroot/usr/include"
2749 // CHECK-BE-HF-32R5: "{{.*}}ld{{(.exe)?}}"
2750 // CHECK-BE-HF-32R5: "--sysroot=[[TC]]/../../../../sysroot"
2751 // CHECK-BE-HF-32R5: "-dynamic-linker" "/lib/ld.so.1"
2752 // CHECK-BE-HF-32R5: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crt1.o"
2753 // CHECK-BE-HF-32R5: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crti.o"
2754 // CHECK-BE-HF-32R5: "[[TC]]{{/|\\\\}}crtbegin.o"
2755 // CHECK-BE-HF-32R5: "-L[[TC]]"
2756 // CHECK-BE-HF-32R5: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib"
2757 // CHECK-BE-HF-32R5: "-L[[TC]]/../../../../sysroot/usr/lib/../lib"
2758 // CHECK-BE-HF-32R5: "[[TC]]{{/|\\\\}}crtend.o"
2759 // CHECK-BE-HF-32R5: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crtn.o"
2760 //
2761 // = Big-endian, mips64r3, ABI 64, hard float
2762 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2763 // RUN:     --target=mips64-mti-linux-gnu -mips64r3 -mabi=64 -mhard-float \
2764 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2765 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64R3-64 %s
2766 // CHECK-BE-HF-64R3-64: "-internal-isystem"
2767 // CHECK-BE-HF-64R3-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2768 // CHECK-BE-HF-64R3-64: "-internal-isystem"
2769 // CHECK-BE-HF-64R3-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64"
2770 // CHECK-BE-HF-64R3-64: "-internal-isystem"
2771 // CHECK-BE-HF-64R3-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2772 // CHECK-BE-HF-64R3-64: "-internal-externc-isystem"
2773 // CHECK-BE-HF-64R3-64: "[[TC]]/include"
2774 // CHECK-BE-HF-64R3-64: "-internal-externc-isystem"
2775 // CHECK-BE-HF-64R3-64: "[[TC]]/../../../../sysroot/usr/include"
2776 // CHECK-BE-HF-64R3-64: "{{.*}}ld{{(.exe)?}}"
2777 // CHECK-BE-HF-64R3-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64"
2778 // CHECK-BE-HF-64R3-64: "-dynamic-linker" "/lib64/ld.so.1"
2779 // CHECK-BE-HF-64R3-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crt1.o"
2780 // CHECK-BE-HF-64R3-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crti.o"
2781 // CHECK-BE-HF-64R3-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtbegin.o"
2782 // CHECK-BE-HF-64R3-64: "-L[[TC]]/mips64r2/64"
2783 // CHECK-BE-HF-64R3-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64"
2784 // CHECK-BE-HF-64R3-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/usr/lib"
2785 // CHECK-BE-HF-64R3-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtend.o"
2786 // CHECK-BE-HF-64R3-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crtn.o"
2787 //
2788 // = Big-endian, mips64r5, ABI 64, hard float
2789 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2790 // RUN:     --target=mips64-mti-linux-gnu -mips64r5 -mabi=64 -mhard-float \
2791 // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2792 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64R5-64 %s
2793 // CHECK-BE-HF-64R5-64: "-internal-isystem"
2794 // CHECK-BE-HF-64R5-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2795 // CHECK-BE-HF-64R5-64: "-internal-isystem"
2796 // CHECK-BE-HF-64R5-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64"
2797 // CHECK-BE-HF-64R5-64: "-internal-isystem"
2798 // CHECK-BE-HF-64R5-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2799 // CHECK-BE-HF-64R5-64: "-internal-externc-isystem"
2800 // CHECK-BE-HF-64R5-64: "[[TC]]/include"
2801 // CHECK-BE-HF-64R5-64: "-internal-externc-isystem"
2802 // CHECK-BE-HF-64R5-64: "[[TC]]/../../../../sysroot/usr/include"
2803 // CHECK-BE-HF-64R5-64: "{{.*}}ld{{(.exe)?}}"
2804 // CHECK-BE-HF-64R5-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64"
2805 // CHECK-BE-HF-64R5-64: "-dynamic-linker" "/lib64/ld.so.1"
2806 // CHECK-BE-HF-64R5-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crt1.o"
2807 // CHECK-BE-HF-64R5-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crti.o"
2808 // CHECK-BE-HF-64R5-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtbegin.o"
2809 // CHECK-BE-HF-64R5-64: "-L[[TC]]/mips64r2/64"
2810 // CHECK-BE-HF-64R5-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64"
2811 // CHECK-BE-HF-64R5-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/usr/lib"
2812 // CHECK-BE-HF-64R5-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtend.o"
2813 // CHECK-BE-HF-64R5-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crtn.o"
2814