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