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