Clang Project

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