xref: /aosp_15_r20/external/clang/test/Driver/mips-fsf.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // Check frontend and linker invocations on FSF MIPS toolchain.
2*67e74705SXin Li //
3*67e74705SXin Li // = Big-endian, mips32, hard float
4*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
5*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32 -mhard-float \
6*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
7*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-32 %s
8*67e74705SXin Li // CHECK-BE-HF-32: "-internal-isystem"
9*67e74705SXin Li // CHECK-BE-HF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
10*67e74705SXin Li // CHECK-BE-HF-32: "-internal-isystem"
11*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32"
12*67e74705SXin Li // CHECK-BE-HF-32: "-internal-isystem"
13*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
14*67e74705SXin Li // CHECK-BE-HF-32: "-internal-externc-isystem"
15*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/include"
16*67e74705SXin Li // CHECK-BE-HF-32: "-internal-externc-isystem"
17*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/usr/include"
18*67e74705SXin Li // CHECK-BE-HF-32: "{{.*}}ld{{(.exe)?}}"
19*67e74705SXin Li // CHECK-BE-HF-32: "--sysroot=[[TC]]/../../../../sysroot/mips32"
20*67e74705SXin Li // CHECK-BE-HF-32: "-dynamic-linker" "/lib/ld.so.1"
21*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crt1.o"
22*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crti.o"
23*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/mips32{{/|\\\\}}crtbegin.o"
24*67e74705SXin Li // CHECK-BE-HF-32: "-L[[TC]]/mips32"
25*67e74705SXin Li // CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32"
26*67e74705SXin Li // CHECK-BE-HF-32: "-L[[TC]]/../../../../sysroot/mips32/usr/lib/../lib"
27*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/mips32{{/|\\\\}}crtend.o"
28*67e74705SXin Li // CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crtn.o"
29*67e74705SXin Li //
30*67e74705SXin Li // = Big-endian, mips32, hard float, fp64
31*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
32*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32 -mfp64 -mhard-float \
33*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
34*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-32 %s
35*67e74705SXin Li // CHECK-BE-HF64-32: "-internal-isystem"
36*67e74705SXin Li // CHECK-BE-HF64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
37*67e74705SXin Li // CHECK-BE-HF64-32: "-internal-isystem"
38*67e74705SXin Li // CHECK-BE-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32"
39*67e74705SXin Li // CHECK-BE-HF64-32: "-internal-isystem"
40*67e74705SXin Li // CHECK-BE-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
41*67e74705SXin Li // CHECK-BE-HF64-32: "-internal-externc-isystem"
42*67e74705SXin Li // CHECK-BE-HF64-32: "[[TC]]/include"
43*67e74705SXin Li // CHECK-BE-HF64-32: "-internal-externc-isystem"
44*67e74705SXin Li // CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/usr/include"
45*67e74705SXin Li // CHECK-BE-HF64-32: "{{.*}}ld{{(.exe)?}}"
46*67e74705SXin Li // CHECK-BE-HF64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32"
47*67e74705SXin Li // CHECK-BE-HF64-32: "-dynamic-linker" "/lib/ld.so.1"
48*67e74705SXin Li // CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crt1.o"
49*67e74705SXin Li // CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crti.o"
50*67e74705SXin Li // CHECK-BE-HF64-32: "[[TC]]/mips32{{/|\\\\}}crtbegin.o"
51*67e74705SXin Li // CHECK-BE-HF64-32: "-L[[TC]]/mips32"
52*67e74705SXin Li // CHECK-BE-HF64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32"
53*67e74705SXin Li // CHECK-BE-HF64-32: "-L[[TC]]/../../../../sysroot/mips32/usr/lib/../lib"
54*67e74705SXin Li // CHECK-BE-HF64-32: "[[TC]]/mips32{{/|\\\\}}crtend.o"
55*67e74705SXin Li // CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crtn.o"
56*67e74705SXin Li //
57*67e74705SXin Li // = Big-endian, mips32, soft float
58*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
59*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32 -msoft-float \
60*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
61*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-32 %s
62*67e74705SXin Li // CHECK-BE-SF-32: "-internal-isystem"
63*67e74705SXin Li // CHECK-BE-SF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
64*67e74705SXin Li // CHECK-BE-SF-32: "-internal-isystem"
65*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/sof"
66*67e74705SXin Li // CHECK-BE-SF-32: "-internal-isystem"
67*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
68*67e74705SXin Li // CHECK-BE-SF-32: "-internal-externc-isystem"
69*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/include"
70*67e74705SXin Li // CHECK-BE-SF-32: "-internal-externc-isystem"
71*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/usr/include"
72*67e74705SXin Li // CHECK-BE-SF-32: "{{.*}}ld{{(.exe)?}}"
73*67e74705SXin Li // CHECK-BE-SF-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/sof"
74*67e74705SXin Li // CHECK-BE-SF-32: "-dynamic-linker" "/lib/ld.so.1"
75*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
76*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib{{/|\\\\}}crti.o"
77*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/mips32/sof{{/|\\\\}}crtbegin.o"
78*67e74705SXin Li // CHECK-BE-SF-32: "-L[[TC]]/mips32/sof"
79*67e74705SXin Li // CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/sof"
80*67e74705SXin Li // CHECK-BE-SF-32: "-L[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib"
81*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/mips32/sof{{/|\\\\}}crtend.o"
82*67e74705SXin Li // CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
83*67e74705SXin Li //
84*67e74705SXin Li // = Big-endian, mips16 / mips32, hard float
85*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
86*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32 -mips16 -mhard-float \
87*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
88*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-16 %s
89*67e74705SXin Li // CHECK-BE-HF-16: "-internal-isystem"
90*67e74705SXin Li // CHECK-BE-HF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
91*67e74705SXin Li // CHECK-BE-HF-16: "-internal-isystem"
92*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16"
93*67e74705SXin Li // CHECK-BE-HF-16: "-internal-isystem"
94*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
95*67e74705SXin Li // CHECK-BE-HF-16: "-internal-externc-isystem"
96*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/include"
97*67e74705SXin Li // CHECK-BE-HF-16: "-internal-externc-isystem"
98*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/usr/include"
99*67e74705SXin Li // CHECK-BE-HF-16: "{{.*}}ld{{(.exe)?}}"
100*67e74705SXin Li // CHECK-BE-HF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16"
101*67e74705SXin Li // CHECK-BE-HF-16: "-dynamic-linker" "/lib/ld.so.1"
102*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
103*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
104*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtbegin.o"
105*67e74705SXin Li // CHECK-BE-HF-16: "-L[[TC]]/mips32/mips16"
106*67e74705SXin Li // CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16"
107*67e74705SXin Li // CHECK-BE-HF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib"
108*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtend.o"
109*67e74705SXin Li // CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
110*67e74705SXin Li //
111*67e74705SXin Li // = Big-endian, mips16 / mips32, hard float, fp64
112*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
113*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32 -mips16 -mfp64 -mhard-float \
114*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
115*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-16 %s
116*67e74705SXin Li // CHECK-BE-HF64-16: "-internal-isystem"
117*67e74705SXin Li // CHECK-BE-HF64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
118*67e74705SXin Li // CHECK-BE-HF64-16: "-internal-isystem"
119*67e74705SXin Li // CHECK-BE-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16"
120*67e74705SXin Li // CHECK-BE-HF64-16: "-internal-isystem"
121*67e74705SXin Li // CHECK-BE-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
122*67e74705SXin Li // CHECK-BE-HF64-16: "-internal-externc-isystem"
123*67e74705SXin Li // CHECK-BE-HF64-16: "[[TC]]/include"
124*67e74705SXin Li // CHECK-BE-HF64-16: "-internal-externc-isystem"
125*67e74705SXin Li // CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/usr/include"
126*67e74705SXin Li // CHECK-BE-HF64-16: "{{.*}}ld{{(.exe)?}}"
127*67e74705SXin Li // CHECK-BE-HF64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16"
128*67e74705SXin Li // CHECK-BE-HF64-16: "-dynamic-linker" "/lib/ld.so.1"
129*67e74705SXin Li // CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
130*67e74705SXin Li // CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
131*67e74705SXin Li // CHECK-BE-HF64-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtbegin.o"
132*67e74705SXin Li // CHECK-BE-HF64-16: "-L[[TC]]/mips32/mips16"
133*67e74705SXin Li // CHECK-BE-HF64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16"
134*67e74705SXin Li // CHECK-BE-HF64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib"
135*67e74705SXin Li // CHECK-BE-HF64-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtend.o"
136*67e74705SXin Li // CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
137*67e74705SXin Li //
138*67e74705SXin Li // = Big-endian, mips16 / mips32, soft float
139*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
140*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32 -mips16 -msoft-float \
141*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
142*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-16 %s
143*67e74705SXin Li // CHECK-BE-SF-16: "-internal-isystem"
144*67e74705SXin Li // CHECK-BE-SF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
145*67e74705SXin Li // CHECK-BE-SF-16: "-internal-isystem"
146*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/sof"
147*67e74705SXin Li // CHECK-BE-SF-16: "-internal-isystem"
148*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
149*67e74705SXin Li // CHECK-BE-SF-16: "-internal-externc-isystem"
150*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/include"
151*67e74705SXin Li // CHECK-BE-SF-16: "-internal-externc-isystem"
152*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/usr/include"
153*67e74705SXin Li // CHECK-BE-SF-16: "{{.*}}ld{{(.exe)?}}"
154*67e74705SXin Li // CHECK-BE-SF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/sof"
155*67e74705SXin Li // CHECK-BE-SF-16: "-dynamic-linker" "/lib/ld.so.1"
156*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
157*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib{{/|\\\\}}crti.o"
158*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/mips32/mips16/sof{{/|\\\\}}crtbegin.o"
159*67e74705SXin Li // CHECK-BE-SF-16: "-L[[TC]]/mips32/mips16/sof"
160*67e74705SXin Li // CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/sof"
161*67e74705SXin Li // CHECK-BE-SF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib"
162*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/mips32/mips16/sof{{/|\\\\}}crtend.o"
163*67e74705SXin Li // CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
164*67e74705SXin Li //
165*67e74705SXin Li // = Big-endian, mips32 / mips16, nan2008
166*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
167*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32 -mips16 -mnan=2008 \
168*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
169*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-16 %s
170*67e74705SXin Li // CHECK-BE-NAN-16: "-internal-isystem"
171*67e74705SXin Li // CHECK-BE-NAN-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
172*67e74705SXin Li // CHECK-BE-NAN-16: "-internal-isystem"
173*67e74705SXin Li // CHECK-BE-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/nan2008"
174*67e74705SXin Li // CHECK-BE-NAN-16: "-internal-isystem"
175*67e74705SXin Li // CHECK-BE-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
176*67e74705SXin Li // CHECK-BE-NAN-16: "-internal-externc-isystem"
177*67e74705SXin Li // CHECK-BE-NAN-16: "[[TC]]/include"
178*67e74705SXin Li // CHECK-BE-NAN-16: "-internal-externc-isystem"
179*67e74705SXin Li // CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/usr/include"
180*67e74705SXin Li // CHECK-BE-NAN-16: "{{.*}}ld{{(.exe)?}}"
181*67e74705SXin Li // CHECK-BE-NAN-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/nan2008"
182*67e74705SXin Li // CHECK-BE-NAN-16: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
183*67e74705SXin Li // CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
184*67e74705SXin Li // CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
185*67e74705SXin Li // CHECK-BE-NAN-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtbegin.o"
186*67e74705SXin Li // CHECK-BE-NAN-16: "-L[[TC]]/mips32/mips16/nan2008"
187*67e74705SXin Li // CHECK-BE-NAN-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/nan2008"
188*67e74705SXin Li // CHECK-BE-NAN-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib"
189*67e74705SXin Li // CHECK-BE-NAN-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtend.o"
190*67e74705SXin Li // CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
191*67e74705SXin Li //
192*67e74705SXin Li // = Big-endian, mips32 / mips16, fp64, nan2008
193*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
194*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32 -mips16 -mfp64 -mnan=2008 \
195*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
196*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-16 %s
197*67e74705SXin Li // CHECK-BE-NAN64-16: "-internal-isystem"
198*67e74705SXin Li // CHECK-BE-NAN64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
199*67e74705SXin Li // CHECK-BE-NAN64-16: "-internal-isystem"
200*67e74705SXin Li // CHECK-BE-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/nan2008"
201*67e74705SXin Li // CHECK-BE-NAN64-16: "-internal-isystem"
202*67e74705SXin Li // CHECK-BE-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
203*67e74705SXin Li // CHECK-BE-NAN64-16: "-internal-externc-isystem"
204*67e74705SXin Li // CHECK-BE-NAN64-16: "[[TC]]/include"
205*67e74705SXin Li // CHECK-BE-NAN64-16: "-internal-externc-isystem"
206*67e74705SXin Li // CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/usr/include"
207*67e74705SXin Li // CHECK-BE-NAN64-16: "{{.*}}ld{{(.exe)?}}"
208*67e74705SXin Li // CHECK-BE-NAN64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/nan2008"
209*67e74705SXin Li // CHECK-BE-NAN64-16: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
210*67e74705SXin Li // CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
211*67e74705SXin Li // CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
212*67e74705SXin Li // CHECK-BE-NAN64-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtbegin.o"
213*67e74705SXin Li // CHECK-BE-NAN64-16: "-L[[TC]]/mips32/mips16/nan2008"
214*67e74705SXin Li // CHECK-BE-NAN64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/nan2008"
215*67e74705SXin Li // CHECK-BE-NAN64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib"
216*67e74705SXin Li // CHECK-BE-NAN64-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtend.o"
217*67e74705SXin Li // CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
218*67e74705SXin Li //
219*67e74705SXin Li // = Big-endian, mips32, nan2008
220*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
221*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32 -mnan=2008 \
222*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
223*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-32 %s
224*67e74705SXin Li // CHECK-BE-NAN-32: "-internal-isystem"
225*67e74705SXin Li // CHECK-BE-NAN-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
226*67e74705SXin Li // CHECK-BE-NAN-32: "-internal-isystem"
227*67e74705SXin Li // CHECK-BE-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/nan2008"
228*67e74705SXin Li // CHECK-BE-NAN-32: "-internal-isystem"
229*67e74705SXin Li // CHECK-BE-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
230*67e74705SXin Li // CHECK-BE-NAN-32: "-internal-externc-isystem"
231*67e74705SXin Li // CHECK-BE-NAN-32: "[[TC]]/include"
232*67e74705SXin Li // CHECK-BE-NAN-32: "-internal-externc-isystem"
233*67e74705SXin Li // CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/usr/include"
234*67e74705SXin Li // CHECK-BE-NAN-32: "{{.*}}ld{{(.exe)?}}"
235*67e74705SXin Li // CHECK-BE-NAN-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/nan2008"
236*67e74705SXin Li // CHECK-BE-NAN-32: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
237*67e74705SXin Li // CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
238*67e74705SXin Li // CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
239*67e74705SXin Li // CHECK-BE-NAN-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtbegin.o"
240*67e74705SXin Li // CHECK-BE-NAN-32: "-L[[TC]]/mips32/nan2008"
241*67e74705SXin Li // CHECK-BE-NAN-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/nan2008"
242*67e74705SXin Li // CHECK-BE-NAN-32: "-L[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib"
243*67e74705SXin Li // CHECK-BE-NAN-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtend.o"
244*67e74705SXin Li // CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
245*67e74705SXin Li //
246*67e74705SXin Li // = Big-endian, mips32, fp64, nan2008
247*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
248*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32 -mfp64 -mnan=2008 \
249*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
250*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-32 %s
251*67e74705SXin Li // CHECK-BE-NAN64-32: "-internal-isystem"
252*67e74705SXin Li // CHECK-BE-NAN64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
253*67e74705SXin Li // CHECK-BE-NAN64-32: "-internal-isystem"
254*67e74705SXin Li // CHECK-BE-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/nan2008"
255*67e74705SXin Li // CHECK-BE-NAN64-32: "-internal-isystem"
256*67e74705SXin Li // CHECK-BE-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
257*67e74705SXin Li // CHECK-BE-NAN64-32: "-internal-externc-isystem"
258*67e74705SXin Li // CHECK-BE-NAN64-32: "[[TC]]/include"
259*67e74705SXin Li // CHECK-BE-NAN64-32: "-internal-externc-isystem"
260*67e74705SXin Li // CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/usr/include"
261*67e74705SXin Li // CHECK-BE-NAN64-32: "{{.*}}ld{{(.exe)?}}"
262*67e74705SXin Li // CHECK-BE-NAN64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/nan2008"
263*67e74705SXin Li // CHECK-BE-NAN64-32: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
264*67e74705SXin Li // CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
265*67e74705SXin Li // CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
266*67e74705SXin Li // CHECK-BE-NAN64-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtbegin.o"
267*67e74705SXin Li // CHECK-BE-NAN64-32: "-L[[TC]]/mips32/nan2008"
268*67e74705SXin Li // CHECK-BE-NAN64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/nan2008"
269*67e74705SXin Li // CHECK-BE-NAN64-32: "-L[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib"
270*67e74705SXin Li // CHECK-BE-NAN64-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtend.o"
271*67e74705SXin Li // CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
272*67e74705SXin Li //
273*67e74705SXin Li // = Big-endian, mips32r2, hard float
274*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
275*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mhard-float \
276*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
277*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-32R2 %s
278*67e74705SXin Li // CHECK-BE-HF-32R2: "-internal-isystem"
279*67e74705SXin Li // CHECK-BE-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
280*67e74705SXin Li // CHECK-BE-HF-32R2: "-internal-isystem"
281*67e74705SXin Li // CHECK-BE-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu"
282*67e74705SXin Li // CHECK-BE-HF-32R2: "-internal-isystem"
283*67e74705SXin Li // CHECK-BE-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
284*67e74705SXin Li // CHECK-BE-HF-32R2: "-internal-externc-isystem"
285*67e74705SXin Li // CHECK-BE-HF-32R2: "[[TC]]/include"
286*67e74705SXin Li // CHECK-BE-HF-32R2: "-internal-externc-isystem"
287*67e74705SXin Li // CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/include"
288*67e74705SXin Li // CHECK-BE-HF-32R2: "{{.*}}ld{{(.exe)?}}"
289*67e74705SXin Li // CHECK-BE-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot"
290*67e74705SXin Li // CHECK-BE-HF-32R2: "-dynamic-linker" "/lib/ld.so.1"
291*67e74705SXin Li // CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crt1.o"
292*67e74705SXin Li // CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crti.o"
293*67e74705SXin Li // CHECK-BE-HF-32R2: "[[TC]]{{/|\\\\}}crtbegin.o"
294*67e74705SXin Li // CHECK-BE-HF-32R2: "-L[[TC]]"
295*67e74705SXin Li // CHECK-BE-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib"
296*67e74705SXin Li // CHECK-BE-HF-32R2: "-L[[TC]]/../../../../sysroot/usr/lib/../lib"
297*67e74705SXin Li // CHECK-BE-HF-32R2: "[[TC]]{{/|\\\\}}crtend.o"
298*67e74705SXin Li // CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crtn.o"
299*67e74705SXin Li //
300*67e74705SXin Li // = Big-endian, mips32r2, hard float, uclibc
301*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
302*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mhard-float -muclibc \
303*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
304*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-UC-HF-32R2 %s
305*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "-internal-isystem"
306*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
307*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "-internal-isystem"
308*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc"
309*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "-internal-isystem"
310*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
311*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "-internal-externc-isystem"
312*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "[[TC]]/include"
313*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "-internal-externc-isystem"
314*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
315*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "{{.*}}ld{{(.exe)?}}"
316*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc"
317*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
318*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib{{/|\\\\}}crt1.o"
319*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib{{/|\\\\}}crti.o"
320*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "[[TC]]/uclibc{{/|\\\\}}crtbegin.o"
321*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "-L[[TC]]/uclibc"
322*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc"
323*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib"
324*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "[[TC]]/uclibc{{/|\\\\}}crtend.o"
325*67e74705SXin Li // CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib{{/|\\\\}}crtn.o"
326*67e74705SXin Li //
327*67e74705SXin Li // = Big-endian, mips32r2, fp64, hard float
328*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
329*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mfp64 -mhard-float \
330*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
331*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-32R2 %s
332*67e74705SXin Li // CHECK-BE-HF64-32R2: "-internal-isystem"
333*67e74705SXin Li // CHECK-BE-HF64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
334*67e74705SXin Li // CHECK-BE-HF64-32R2: "-internal-isystem"
335*67e74705SXin Li // CHECK-BE-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu"
336*67e74705SXin Li // CHECK-BE-HF64-32R2: "-internal-isystem"
337*67e74705SXin Li // CHECK-BE-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
338*67e74705SXin Li // CHECK-BE-HF64-32R2: "-internal-externc-isystem"
339*67e74705SXin Li // CHECK-BE-HF64-32R2: "[[TC]]/include"
340*67e74705SXin Li // CHECK-BE-HF64-32R2: "-internal-externc-isystem"
341*67e74705SXin Li // CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/usr/include"
342*67e74705SXin Li // CHECK-BE-HF64-32R2: "{{.*}}ld{{(.exe)?}}"
343*67e74705SXin Li // CHECK-BE-HF64-32R2: "--sysroot=[[TC]]/../../../../sysroot"
344*67e74705SXin Li // CHECK-BE-HF64-32R2: "-dynamic-linker" "/lib/ld.so.1"
345*67e74705SXin Li // CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crt1.o"
346*67e74705SXin Li // CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crti.o"
347*67e74705SXin Li // CHECK-BE-HF64-32R2: "[[TC]]{{/|\\\\}}crtbegin.o"
348*67e74705SXin Li // CHECK-BE-HF64-32R2: "-L[[TC]]"
349*67e74705SXin Li // CHECK-BE-HF64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib"
350*67e74705SXin Li // CHECK-BE-HF64-32R2: "-L[[TC]]/../../../../sysroot/usr/lib/../lib"
351*67e74705SXin Li // CHECK-BE-HF64-32R2: "[[TC]]{{/|\\\\}}crtend.o"
352*67e74705SXin Li // CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crtn.o"
353*67e74705SXin Li //
354*67e74705SXin Li // = Big-endian, mips32r2, soft float
355*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
356*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32r2 -msoft-float \
357*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
358*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-32R2 %s
359*67e74705SXin Li // CHECK-BE-SF-32R2: "-internal-isystem"
360*67e74705SXin Li // CHECK-BE-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
361*67e74705SXin Li // CHECK-BE-SF-32R2: "-internal-isystem"
362*67e74705SXin Li // CHECK-BE-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/sof"
363*67e74705SXin Li // CHECK-BE-SF-32R2: "-internal-isystem"
364*67e74705SXin Li // CHECK-BE-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
365*67e74705SXin Li // CHECK-BE-SF-32R2: "-internal-externc-isystem"
366*67e74705SXin Li // CHECK-BE-SF-32R2: "[[TC]]/include"
367*67e74705SXin Li // CHECK-BE-SF-32R2: "-internal-externc-isystem"
368*67e74705SXin Li // CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/usr/include"
369*67e74705SXin Li // CHECK-BE-SF-32R2: "{{.*}}ld{{(.exe)?}}"
370*67e74705SXin Li // CHECK-BE-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/sof"
371*67e74705SXin Li // CHECK-BE-SF-32R2: "-dynamic-linker" "/lib/ld.so.1"
372*67e74705SXin Li // CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
373*67e74705SXin Li // CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crti.o"
374*67e74705SXin Li // CHECK-BE-SF-32R2: "[[TC]]/sof{{/|\\\\}}crtbegin.o"
375*67e74705SXin Li // CHECK-BE-SF-32R2: "-L[[TC]]/sof"
376*67e74705SXin Li // CHECK-BE-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/sof"
377*67e74705SXin Li // CHECK-BE-SF-32R2: "-L[[TC]]/../../../../sysroot/sof/usr/lib/../lib"
378*67e74705SXin Li // CHECK-BE-SF-32R2: "[[TC]]/sof{{/|\\\\}}crtend.o"
379*67e74705SXin Li // CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
380*67e74705SXin Li //
381*67e74705SXin Li // = Big-endian, mips32r2, soft float, uclibc
382*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
383*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32r2 -msoft-float -muclibc \
384*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
385*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-UC-SF-32R2 %s
386*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "-internal-isystem"
387*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
388*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "-internal-isystem"
389*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/sof"
390*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "-internal-isystem"
391*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
392*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "-internal-externc-isystem"
393*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "[[TC]]/include"
394*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "-internal-externc-isystem"
395*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
396*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "{{.*}}ld{{(.exe)?}}"
397*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/sof"
398*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
399*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
400*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib{{/|\\\\}}crti.o"
401*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "[[TC]]/uclibc/sof{{/|\\\\}}crtbegin.o"
402*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "-L[[TC]]/uclibc/sof"
403*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/sof"
404*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib"
405*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "[[TC]]/uclibc/sof{{/|\\\\}}crtend.o"
406*67e74705SXin Li // CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
407*67e74705SXin Li //
408*67e74705SXin Li // = Big-endian, mips32r2 / mips16, hard float
409*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
410*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mips16 -mhard-float \
411*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
412*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-16R2 %s
413*67e74705SXin Li // CHECK-BE-HF-16R2: "-internal-isystem"
414*67e74705SXin Li // CHECK-BE-HF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
415*67e74705SXin Li // CHECK-BE-HF-16R2: "-internal-isystem"
416*67e74705SXin Li // CHECK-BE-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16"
417*67e74705SXin Li // CHECK-BE-HF-16R2: "-internal-isystem"
418*67e74705SXin Li // CHECK-BE-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
419*67e74705SXin Li // CHECK-BE-HF-16R2: "-internal-externc-isystem"
420*67e74705SXin Li // CHECK-BE-HF-16R2: "[[TC]]/include"
421*67e74705SXin Li // CHECK-BE-HF-16R2: "-internal-externc-isystem"
422*67e74705SXin Li // CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/usr/include"
423*67e74705SXin Li // CHECK-BE-HF-16R2: "{{.*}}ld{{(.exe)?}}"
424*67e74705SXin Li // CHECK-BE-HF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16"
425*67e74705SXin Li // CHECK-BE-HF-16R2: "-dynamic-linker" "/lib/ld.so.1"
426*67e74705SXin Li // CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
427*67e74705SXin Li // CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
428*67e74705SXin Li // CHECK-BE-HF-16R2: "[[TC]]/mips16{{/|\\\\}}crtbegin.o"
429*67e74705SXin Li // CHECK-BE-HF-16R2: "-L[[TC]]/mips16"
430*67e74705SXin Li // CHECK-BE-HF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16"
431*67e74705SXin Li // CHECK-BE-HF-16R2: "-L[[TC]]/../../../../sysroot/mips16/usr/lib/../lib"
432*67e74705SXin Li // CHECK-BE-HF-16R2: "[[TC]]/mips16{{/|\\\\}}crtend.o"
433*67e74705SXin Li // CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
434*67e74705SXin Li //
435*67e74705SXin Li // = Big-endian, mips32r2 / mips16, fp64, hard float
436*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
437*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mips16 -mfp64 -mhard-float \
438*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
439*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-16R2 %s
440*67e74705SXin Li // CHECK-BE-HF64-16R2: "-internal-isystem"
441*67e74705SXin Li // CHECK-BE-HF64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
442*67e74705SXin Li // CHECK-BE-HF64-16R2: "-internal-isystem"
443*67e74705SXin Li // CHECK-BE-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16"
444*67e74705SXin Li // CHECK-BE-HF64-16R2: "-internal-isystem"
445*67e74705SXin Li // CHECK-BE-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
446*67e74705SXin Li // CHECK-BE-HF64-16R2: "-internal-externc-isystem"
447*67e74705SXin Li // CHECK-BE-HF64-16R2: "[[TC]]/include"
448*67e74705SXin Li // CHECK-BE-HF64-16R2: "-internal-externc-isystem"
449*67e74705SXin Li // CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/usr/include"
450*67e74705SXin Li // CHECK-BE-HF64-16R2: "{{.*}}ld{{(.exe)?}}"
451*67e74705SXin Li // CHECK-BE-HF64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16"
452*67e74705SXin Li // CHECK-BE-HF64-16R2: "-dynamic-linker" "/lib/ld.so.1"
453*67e74705SXin Li // CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
454*67e74705SXin Li // CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
455*67e74705SXin Li // CHECK-BE-HF64-16R2: "[[TC]]/mips16{{/|\\\\}}crtbegin.o"
456*67e74705SXin Li // CHECK-BE-HF64-16R2: "-L[[TC]]/mips16"
457*67e74705SXin Li // CHECK-BE-HF64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16"
458*67e74705SXin Li // CHECK-BE-HF64-16R2: "-L[[TC]]/../../../../sysroot/mips16/usr/lib/../lib"
459*67e74705SXin Li // CHECK-BE-HF64-16R2: "[[TC]]/mips16{{/|\\\\}}crtend.o"
460*67e74705SXin Li // CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
461*67e74705SXin Li //
462*67e74705SXin Li // = Big-endian, mips32r2 / mips16, soft float
463*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
464*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mips16 -msoft-float \
465*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
466*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-16R2 %s
467*67e74705SXin Li // CHECK-BE-SF-16R2: "-internal-isystem"
468*67e74705SXin Li // CHECK-BE-SF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
469*67e74705SXin Li // CHECK-BE-SF-16R2: "-internal-isystem"
470*67e74705SXin Li // CHECK-BE-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/sof"
471*67e74705SXin Li // CHECK-BE-SF-16R2: "-internal-isystem"
472*67e74705SXin Li // CHECK-BE-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
473*67e74705SXin Li // CHECK-BE-SF-16R2: "-internal-externc-isystem"
474*67e74705SXin Li // CHECK-BE-SF-16R2: "[[TC]]/include"
475*67e74705SXin Li // CHECK-BE-SF-16R2: "-internal-externc-isystem"
476*67e74705SXin Li // CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/usr/include"
477*67e74705SXin Li // CHECK-BE-SF-16R2: "{{.*}}ld{{(.exe)?}}"
478*67e74705SXin Li // CHECK-BE-SF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/sof"
479*67e74705SXin Li // CHECK-BE-SF-16R2: "-dynamic-linker" "/lib/ld.so.1"
480*67e74705SXin Li // CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
481*67e74705SXin Li // CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib{{/|\\\\}}crti.o"
482*67e74705SXin Li // CHECK-BE-SF-16R2: "[[TC]]/mips16/sof{{/|\\\\}}crtbegin.o"
483*67e74705SXin Li // CHECK-BE-SF-16R2: "-L[[TC]]/mips16/sof"
484*67e74705SXin Li // CHECK-BE-SF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/sof"
485*67e74705SXin Li // CHECK-BE-SF-16R2: "-L[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib"
486*67e74705SXin Li // CHECK-BE-SF-16R2: "[[TC]]/mips16/sof{{/|\\\\}}crtend.o"
487*67e74705SXin Li // CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
488*67e74705SXin Li //
489*67e74705SXin Li // = Big-endian, mips32r2 / mips16, nan2008
490*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
491*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mips16 -mnan=2008 \
492*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
493*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-16R2 %s
494*67e74705SXin Li // CHECK-BE-NAN-16R2: "-internal-isystem"
495*67e74705SXin Li // CHECK-BE-NAN-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
496*67e74705SXin Li // CHECK-BE-NAN-16R2: "-internal-isystem"
497*67e74705SXin Li // CHECK-BE-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/nan2008"
498*67e74705SXin Li // CHECK-BE-NAN-16R2: "-internal-isystem"
499*67e74705SXin Li // CHECK-BE-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
500*67e74705SXin Li // CHECK-BE-NAN-16R2: "-internal-externc-isystem"
501*67e74705SXin Li // CHECK-BE-NAN-16R2: "[[TC]]/include"
502*67e74705SXin Li // CHECK-BE-NAN-16R2: "-internal-externc-isystem"
503*67e74705SXin Li // CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/usr/include"
504*67e74705SXin Li // CHECK-BE-NAN-16R2: "{{.*}}ld{{(.exe)?}}"
505*67e74705SXin Li // CHECK-BE-NAN-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/nan2008"
506*67e74705SXin Li // CHECK-BE-NAN-16R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
507*67e74705SXin Li // CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
508*67e74705SXin Li // CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
509*67e74705SXin Li // CHECK-BE-NAN-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtbegin.o"
510*67e74705SXin Li // CHECK-BE-NAN-16R2: "-L[[TC]]/mips16/nan2008"
511*67e74705SXin Li // CHECK-BE-NAN-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/nan2008"
512*67e74705SXin Li // CHECK-BE-NAN-16R2: "-L[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib"
513*67e74705SXin Li // CHECK-BE-NAN-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtend.o"
514*67e74705SXin Li // CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
515*67e74705SXin Li //
516*67e74705SXin Li // = Big-endian, mips32r2 / mips16, fp64, nan2008
517*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
518*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mips16 -mfp64 -mnan=2008 \
519*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
520*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-16R2 %s
521*67e74705SXin Li // CHECK-BE-NAN64-16R2: "-internal-isystem"
522*67e74705SXin Li // CHECK-BE-NAN64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
523*67e74705SXin Li // CHECK-BE-NAN64-16R2: "-internal-isystem"
524*67e74705SXin Li // CHECK-BE-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/nan2008"
525*67e74705SXin Li // CHECK-BE-NAN64-16R2: "-internal-isystem"
526*67e74705SXin Li // CHECK-BE-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
527*67e74705SXin Li // CHECK-BE-NAN64-16R2: "-internal-externc-isystem"
528*67e74705SXin Li // CHECK-BE-NAN64-16R2: "[[TC]]/include"
529*67e74705SXin Li // CHECK-BE-NAN64-16R2: "-internal-externc-isystem"
530*67e74705SXin Li // CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/usr/include"
531*67e74705SXin Li // CHECK-BE-NAN64-16R2: "{{.*}}ld{{(.exe)?}}"
532*67e74705SXin Li // CHECK-BE-NAN64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/nan2008"
533*67e74705SXin Li // CHECK-BE-NAN64-16R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
534*67e74705SXin Li // CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
535*67e74705SXin Li // CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
536*67e74705SXin Li // CHECK-BE-NAN64-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtbegin.o"
537*67e74705SXin Li // CHECK-BE-NAN64-16R2: "-L[[TC]]/mips16/nan2008"
538*67e74705SXin Li // CHECK-BE-NAN64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/nan2008"
539*67e74705SXin Li // CHECK-BE-NAN64-16R2: "-L[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib"
540*67e74705SXin Li // CHECK-BE-NAN64-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtend.o"
541*67e74705SXin Li // CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
542*67e74705SXin Li //
543*67e74705SXin Li // = Big-endian, mips32r2, nan2008
544*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
545*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mnan=2008 \
546*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
547*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-32R2 %s
548*67e74705SXin Li // CHECK-BE-NAN-32R2: "-internal-isystem"
549*67e74705SXin Li // CHECK-BE-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
550*67e74705SXin Li // CHECK-BE-NAN-32R2: "-internal-isystem"
551*67e74705SXin Li // CHECK-BE-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/nan2008"
552*67e74705SXin Li // CHECK-BE-NAN-32R2: "-internal-isystem"
553*67e74705SXin Li // CHECK-BE-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
554*67e74705SXin Li // CHECK-BE-NAN-32R2: "-internal-externc-isystem"
555*67e74705SXin Li // CHECK-BE-NAN-32R2: "[[TC]]/include"
556*67e74705SXin Li // CHECK-BE-NAN-32R2: "-internal-externc-isystem"
557*67e74705SXin Li // CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/usr/include"
558*67e74705SXin Li // CHECK-BE-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
559*67e74705SXin Li // CHECK-BE-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/nan2008"
560*67e74705SXin Li // CHECK-BE-NAN-32R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
561*67e74705SXin Li // CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
562*67e74705SXin Li // CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
563*67e74705SXin Li // CHECK-BE-NAN-32R2: "[[TC]]/nan2008{{/|\\\\}}crtbegin.o"
564*67e74705SXin Li // CHECK-BE-NAN-32R2: "-L[[TC]]/nan2008"
565*67e74705SXin Li // CHECK-BE-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/nan2008"
566*67e74705SXin Li // CHECK-BE-NAN-32R2: "-L[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib"
567*67e74705SXin Li // CHECK-BE-NAN-32R2: "[[TC]]/nan2008{{/|\\\\}}crtend.o"
568*67e74705SXin Li // CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
569*67e74705SXin Li //
570*67e74705SXin Li // = Big-endian, mips32r2, nan2008, uclibc
571*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
572*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mnan=2008 -muclibc \
573*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
574*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-UC-NAN-32R2 %s
575*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "-internal-isystem"
576*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
577*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "-internal-isystem"
578*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/nan2008"
579*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "-internal-isystem"
580*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
581*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "-internal-externc-isystem"
582*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "[[TC]]/include"
583*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "-internal-externc-isystem"
584*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
585*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
586*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/nan2008"
587*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0"
588*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
589*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
590*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "[[TC]]/uclibc/nan2008{{/|\\\\}}crtbegin.o"
591*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "-L[[TC]]/uclibc/nan2008"
592*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/nan2008"
593*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "-L[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib"
594*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "[[TC]]/uclibc/nan2008{{/|\\\\}}crtend.o"
595*67e74705SXin Li // CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
596*67e74705SXin Li //
597*67e74705SXin Li // = Big-endian, mips32r2, fp64, nan2008
598*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
599*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32r2 -mfp64 -mnan=2008 \
600*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
601*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-32R2 %s
602*67e74705SXin Li // CHECK-BE-NAN64-32R2: "-internal-isystem"
603*67e74705SXin Li // CHECK-BE-NAN64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
604*67e74705SXin Li // CHECK-BE-NAN64-32R2: "-internal-isystem"
605*67e74705SXin Li // CHECK-BE-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/nan2008"
606*67e74705SXin Li // CHECK-BE-NAN64-32R2: "-internal-isystem"
607*67e74705SXin Li // CHECK-BE-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
608*67e74705SXin Li // CHECK-BE-NAN64-32R2: "-internal-externc-isystem"
609*67e74705SXin Li // CHECK-BE-NAN64-32R2: "[[TC]]/include"
610*67e74705SXin Li // CHECK-BE-NAN64-32R2: "-internal-externc-isystem"
611*67e74705SXin Li // CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/usr/include"
612*67e74705SXin Li // CHECK-BE-NAN64-32R2: "{{.*}}ld{{(.exe)?}}"
613*67e74705SXin Li // CHECK-BE-NAN64-32R2: "--sysroot=[[TC]]/../../../../sysroot/nan2008"
614*67e74705SXin Li // CHECK-BE-NAN64-32R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
615*67e74705SXin Li // CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
616*67e74705SXin Li // CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
617*67e74705SXin Li // CHECK-BE-NAN64-32R2: "[[TC]]/nan2008{{/|\\\\}}crtbegin.o"
618*67e74705SXin Li // CHECK-BE-NAN64-32R2: "-L[[TC]]/nan2008"
619*67e74705SXin Li // CHECK-BE-NAN64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/nan2008"
620*67e74705SXin Li // CHECK-BE-NAN64-32R2: "-L[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib"
621*67e74705SXin Li // CHECK-BE-NAN64-32R2: "[[TC]]/nan2008{{/|\\\\}}crtend.o"
622*67e74705SXin Li // CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
623*67e74705SXin Li //
624*67e74705SXin Li // = Big-endian, default (mips32r2), fp64, nan2008
625*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
626*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mfp64 -mnan=2008 \
627*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
628*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-32R2-DEF %s
629*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "-internal-isystem"
630*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
631*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "-internal-isystem"
632*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/nan2008"
633*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "-internal-isystem"
634*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
635*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "-internal-externc-isystem"
636*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/include"
637*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "-internal-externc-isystem"
638*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/usr/include"
639*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "{{.*}}ld{{(.exe)?}}"
640*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "--sysroot=[[TC]]/../../../../sysroot/nan2008"
641*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
642*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
643*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
644*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/nan2008{{/|\\\\}}crtbegin.o"
645*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "-L[[TC]]/nan2008"
646*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/nan2008"
647*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "-L[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib"
648*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/nan2008{{/|\\\\}}crtend.o"
649*67e74705SXin Li // CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
650*67e74705SXin Li //
651*67e74705SXin Li // = Big-endian, micromips, hard float
652*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
653*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mmicromips -mhard-float \
654*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
655*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-MM %s
656*67e74705SXin Li // CHECK-BE-HF-MM: "-internal-isystem"
657*67e74705SXin Li // CHECK-BE-HF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
658*67e74705SXin Li // CHECK-BE-HF-MM: "-internal-isystem"
659*67e74705SXin Li // CHECK-BE-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips"
660*67e74705SXin Li // CHECK-BE-HF-MM: "-internal-isystem"
661*67e74705SXin Li // CHECK-BE-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
662*67e74705SXin Li // CHECK-BE-HF-MM: "-internal-externc-isystem"
663*67e74705SXin Li // CHECK-BE-HF-MM: "[[TC]]/include"
664*67e74705SXin Li // CHECK-BE-HF-MM: "-internal-externc-isystem"
665*67e74705SXin Li // CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/usr/include"
666*67e74705SXin Li // CHECK-BE-HF-MM: "{{.*}}ld{{(.exe)?}}"
667*67e74705SXin Li // CHECK-BE-HF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips"
668*67e74705SXin Li // CHECK-BE-HF-MM: "-dynamic-linker" "/lib/ld.so.1"
669*67e74705SXin Li // CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crt1.o"
670*67e74705SXin Li // CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crti.o"
671*67e74705SXin Li // CHECK-BE-HF-MM: "[[TC]]/micromips{{/|\\\\}}crtbegin.o"
672*67e74705SXin Li // CHECK-BE-HF-MM: "-L[[TC]]/micromips"
673*67e74705SXin Li // CHECK-BE-HF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips"
674*67e74705SXin Li // CHECK-BE-HF-MM: "-L[[TC]]/../../../../sysroot/micromips/usr/lib/../lib"
675*67e74705SXin Li // CHECK-BE-HF-MM: "[[TC]]/micromips{{/|\\\\}}crtend.o"
676*67e74705SXin Li // CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crtn.o"
677*67e74705SXin Li //
678*67e74705SXin Li // = Big-endian, micromips, fp64, hard float
679*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
680*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mmicromips -mfp64 -mhard-float \
681*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
682*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-MM %s
683*67e74705SXin Li // CHECK-BE-HF64-MM: "-internal-isystem"
684*67e74705SXin Li // CHECK-BE-HF64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
685*67e74705SXin Li // CHECK-BE-HF64-MM: "-internal-isystem"
686*67e74705SXin Li // CHECK-BE-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips"
687*67e74705SXin Li // CHECK-BE-HF64-MM: "-internal-isystem"
688*67e74705SXin Li // CHECK-BE-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
689*67e74705SXin Li // CHECK-BE-HF64-MM: "-internal-externc-isystem"
690*67e74705SXin Li // CHECK-BE-HF64-MM: "[[TC]]/include"
691*67e74705SXin Li // CHECK-BE-HF64-MM: "-internal-externc-isystem"
692*67e74705SXin Li // CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/usr/include"
693*67e74705SXin Li // CHECK-BE-HF64-MM: "{{.*}}ld{{(.exe)?}}"
694*67e74705SXin Li // CHECK-BE-HF64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips"
695*67e74705SXin Li // CHECK-BE-HF64-MM: "-dynamic-linker" "/lib/ld.so.1"
696*67e74705SXin Li // CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crt1.o"
697*67e74705SXin Li // CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crti.o"
698*67e74705SXin Li // CHECK-BE-HF64-MM: "[[TC]]/micromips{{/|\\\\}}crtbegin.o"
699*67e74705SXin Li // CHECK-BE-HF64-MM: "-L[[TC]]/micromips"
700*67e74705SXin Li // CHECK-BE-HF64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips"
701*67e74705SXin Li // CHECK-BE-HF64-MM: "-L[[TC]]/../../../../sysroot/micromips/usr/lib/../lib"
702*67e74705SXin Li // CHECK-BE-HF64-MM: "[[TC]]/micromips{{/|\\\\}}crtend.o"
703*67e74705SXin Li // CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crtn.o"
704*67e74705SXin Li //
705*67e74705SXin Li // = Big-endian, micromips, soft float
706*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
707*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mmicromips -msoft-float \
708*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
709*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-MM %s
710*67e74705SXin Li // CHECK-BE-SF-MM: "-internal-isystem"
711*67e74705SXin Li // CHECK-BE-SF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
712*67e74705SXin Li // CHECK-BE-SF-MM: "-internal-isystem"
713*67e74705SXin Li // CHECK-BE-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/sof"
714*67e74705SXin Li // CHECK-BE-SF-MM: "-internal-isystem"
715*67e74705SXin Li // CHECK-BE-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
716*67e74705SXin Li // CHECK-BE-SF-MM: "-internal-externc-isystem"
717*67e74705SXin Li // CHECK-BE-SF-MM: "[[TC]]/include"
718*67e74705SXin Li // CHECK-BE-SF-MM: "-internal-externc-isystem"
719*67e74705SXin Li // CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/usr/include"
720*67e74705SXin Li // CHECK-BE-SF-MM: "{{.*}}ld{{(.exe)?}}"
721*67e74705SXin Li // CHECK-BE-SF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/sof"
722*67e74705SXin Li // CHECK-BE-SF-MM: "-dynamic-linker" "/lib/ld.so.1"
723*67e74705SXin Li // CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
724*67e74705SXin Li // CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib{{/|\\\\}}crti.o"
725*67e74705SXin Li // CHECK-BE-SF-MM: "[[TC]]/micromips/sof{{/|\\\\}}crtbegin.o"
726*67e74705SXin Li // CHECK-BE-SF-MM: "-L[[TC]]/micromips/sof"
727*67e74705SXin Li // CHECK-BE-SF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/sof"
728*67e74705SXin Li // CHECK-BE-SF-MM: "-L[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib"
729*67e74705SXin Li // CHECK-BE-SF-MM: "[[TC]]/micromips/sof{{/|\\\\}}crtend.o"
730*67e74705SXin Li // CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
731*67e74705SXin Li //
732*67e74705SXin Li // = Big-endian, micromips, nan2008
733*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
734*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mmicromips -mnan=2008 \
735*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
736*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-MM %s
737*67e74705SXin Li // CHECK-BE-NAN-MM: "-internal-isystem"
738*67e74705SXin Li // CHECK-BE-NAN-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
739*67e74705SXin Li // CHECK-BE-NAN-MM: "-internal-isystem"
740*67e74705SXin Li // CHECK-BE-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/nan2008"
741*67e74705SXin Li // CHECK-BE-NAN-MM: "-internal-isystem"
742*67e74705SXin Li // CHECK-BE-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
743*67e74705SXin Li // CHECK-BE-NAN-MM: "-internal-externc-isystem"
744*67e74705SXin Li // CHECK-BE-NAN-MM: "[[TC]]/include"
745*67e74705SXin Li // CHECK-BE-NAN-MM: "-internal-externc-isystem"
746*67e74705SXin Li // CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/usr/include"
747*67e74705SXin Li // CHECK-BE-NAN-MM: "{{.*}}ld{{(.exe)?}}"
748*67e74705SXin Li // CHECK-BE-NAN-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/nan2008"
749*67e74705SXin Li // CHECK-BE-NAN-MM: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
750*67e74705SXin Li // CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
751*67e74705SXin Li // CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
752*67e74705SXin Li // CHECK-BE-NAN-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtbegin.o"
753*67e74705SXin Li // CHECK-BE-NAN-MM: "-L[[TC]]/micromips/nan2008"
754*67e74705SXin Li // CHECK-BE-NAN-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/nan2008"
755*67e74705SXin Li // CHECK-BE-NAN-MM: "-L[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib"
756*67e74705SXin Li // CHECK-BE-NAN-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtend.o"
757*67e74705SXin Li // CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
758*67e74705SXin Li //
759*67e74705SXin Li // = Big-endian, micromips, fp64, nan2008
760*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
761*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mmicromips -mfp64 -mnan=2008 \
762*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
763*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-MM %s
764*67e74705SXin Li // CHECK-BE-NAN64-MM: "-internal-isystem"
765*67e74705SXin Li // CHECK-BE-NAN64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
766*67e74705SXin Li // CHECK-BE-NAN64-MM: "-internal-isystem"
767*67e74705SXin Li // CHECK-BE-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/nan2008"
768*67e74705SXin Li // CHECK-BE-NAN64-MM: "-internal-isystem"
769*67e74705SXin Li // CHECK-BE-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
770*67e74705SXin Li // CHECK-BE-NAN64-MM: "-internal-externc-isystem"
771*67e74705SXin Li // CHECK-BE-NAN64-MM: "[[TC]]/include"
772*67e74705SXin Li // CHECK-BE-NAN64-MM: "-internal-externc-isystem"
773*67e74705SXin Li // CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/usr/include"
774*67e74705SXin Li // CHECK-BE-NAN64-MM: "{{.*}}ld{{(.exe)?}}"
775*67e74705SXin Li // CHECK-BE-NAN64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/nan2008"
776*67e74705SXin Li // CHECK-BE-NAN64-MM: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
777*67e74705SXin Li // CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
778*67e74705SXin Li // CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
779*67e74705SXin Li // CHECK-BE-NAN64-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtbegin.o"
780*67e74705SXin Li // CHECK-BE-NAN64-MM: "-L[[TC]]/micromips/nan2008"
781*67e74705SXin Li // CHECK-BE-NAN64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/nan2008"
782*67e74705SXin Li // CHECK-BE-NAN64-MM: "-L[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib"
783*67e74705SXin Li // CHECK-BE-NAN64-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtend.o"
784*67e74705SXin Li // CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
785*67e74705SXin Li //
786*67e74705SXin Li // = Big-endian, mips64, ABI n32, hard float
787*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
788*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=n32 -mhard-float \
789*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
790*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64-N32 %s
791*67e74705SXin Li // CHECK-BE-HF-64-N32: "-internal-isystem"
792*67e74705SXin Li // CHECK-BE-HF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
793*67e74705SXin Li // CHECK-BE-HF-64-N32: "-internal-isystem"
794*67e74705SXin Li // CHECK-BE-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64"
795*67e74705SXin Li // CHECK-BE-HF-64-N32: "-internal-isystem"
796*67e74705SXin Li // CHECK-BE-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
797*67e74705SXin Li // CHECK-BE-HF-64-N32: "-internal-externc-isystem"
798*67e74705SXin Li // CHECK-BE-HF-64-N32: "[[TC]]/include"
799*67e74705SXin Li // CHECK-BE-HF-64-N32: "-internal-externc-isystem"
800*67e74705SXin Li // CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
801*67e74705SXin Li // CHECK-BE-HF-64-N32: "{{.*}}ld{{(.exe)?}}"
802*67e74705SXin Li // CHECK-BE-HF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64"
803*67e74705SXin Li // CHECK-BE-HF-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
804*67e74705SXin Li // CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crt1.o"
805*67e74705SXin Li // CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crti.o"
806*67e74705SXin Li // CHECK-BE-HF-64-N32: "[[TC]]/mips64{{/|\\\\}}crtbegin.o"
807*67e74705SXin Li // CHECK-BE-HF-64-N32: "-L[[TC]]/mips64"
808*67e74705SXin Li // CHECK-BE-HF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64"
809*67e74705SXin Li // CHECK-BE-HF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/usr/lib"
810*67e74705SXin Li // CHECK-BE-HF-64-N32: "[[TC]]/mips64{{/|\\\\}}crtend.o"
811*67e74705SXin Li // CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crtn.o"
812*67e74705SXin Li //
813*67e74705SXin Li // = Big-endian, mips64, ABI n32, fp64, hard float
814*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
815*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=n32 -mfp64 -mhard-float \
816*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
817*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-64-N32 %s
818*67e74705SXin Li // CHECK-BE-HF64-64-N32: "-internal-isystem"
819*67e74705SXin Li // CHECK-BE-HF64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
820*67e74705SXin Li // CHECK-BE-HF64-64-N32: "-internal-isystem"
821*67e74705SXin Li // CHECK-BE-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64"
822*67e74705SXin Li // CHECK-BE-HF64-64-N32: "-internal-isystem"
823*67e74705SXin Li // CHECK-BE-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
824*67e74705SXin Li // CHECK-BE-HF64-64-N32: "-internal-externc-isystem"
825*67e74705SXin Li // CHECK-BE-HF64-64-N32: "[[TC]]/include"
826*67e74705SXin Li // CHECK-BE-HF64-64-N32: "-internal-externc-isystem"
827*67e74705SXin Li // CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
828*67e74705SXin Li // CHECK-BE-HF64-64-N32: "{{.*}}ld{{(.exe)?}}"
829*67e74705SXin Li // CHECK-BE-HF64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64"
830*67e74705SXin Li // CHECK-BE-HF64-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
831*67e74705SXin Li // CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crt1.o"
832*67e74705SXin Li // CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crti.o"
833*67e74705SXin Li // CHECK-BE-HF64-64-N32: "[[TC]]/mips64{{/|\\\\}}crtbegin.o"
834*67e74705SXin Li // CHECK-BE-HF64-64-N32: "-L[[TC]]/mips64"
835*67e74705SXin Li // CHECK-BE-HF64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64"
836*67e74705SXin Li // CHECK-BE-HF64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/usr/lib"
837*67e74705SXin Li // CHECK-BE-HF64-64-N32: "[[TC]]/mips64{{/|\\\\}}crtend.o"
838*67e74705SXin Li // CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crtn.o"
839*67e74705SXin Li //
840*67e74705SXin Li // = Big-endian, mips64, ABI n32, soft float
841*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
842*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=n32 -msoft-float \
843*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
844*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-64-N32 %s
845*67e74705SXin Li // CHECK-BE-SF-64-N32: "-internal-isystem"
846*67e74705SXin Li // CHECK-BE-SF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
847*67e74705SXin Li // CHECK-BE-SF-64-N32: "-internal-isystem"
848*67e74705SXin Li // CHECK-BE-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/sof"
849*67e74705SXin Li // CHECK-BE-SF-64-N32: "-internal-isystem"
850*67e74705SXin Li // CHECK-BE-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
851*67e74705SXin Li // CHECK-BE-SF-64-N32: "-internal-externc-isystem"
852*67e74705SXin Li // CHECK-BE-SF-64-N32: "[[TC]]/include"
853*67e74705SXin Li // CHECK-BE-SF-64-N32: "-internal-externc-isystem"
854*67e74705SXin Li // CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
855*67e74705SXin Li // CHECK-BE-SF-64-N32: "{{.*}}ld{{(.exe)?}}"
856*67e74705SXin Li // CHECK-BE-SF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/sof"
857*67e74705SXin Li // CHECK-BE-SF-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
858*67e74705SXin Li // CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/sof/usr/lib{{/|\\\\}}crt1.o"
859*67e74705SXin Li // CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/sof/usr/lib{{/|\\\\}}crti.o"
860*67e74705SXin Li // CHECK-BE-SF-64-N32: "[[TC]]/mips64/sof{{/|\\\\}}crtbegin.o"
861*67e74705SXin Li // CHECK-BE-SF-64-N32: "-L[[TC]]/mips64/sof"
862*67e74705SXin Li // CHECK-BE-SF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/sof"
863*67e74705SXin Li // CHECK-BE-SF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/sof/usr/lib"
864*67e74705SXin Li // CHECK-BE-SF-64-N32: "[[TC]]/mips64/sof{{/|\\\\}}crtend.o"
865*67e74705SXin Li // CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/sof/usr/lib{{/|\\\\}}crtn.o"
866*67e74705SXin Li //
867*67e74705SXin Li // = Big-endian, mips64, ABI n32, nan2008
868*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
869*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=n32 -mnan=2008 \
870*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
871*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-64-N32 %s
872*67e74705SXin Li // CHECK-BE-NAN-64-N32: "-internal-isystem"
873*67e74705SXin Li // CHECK-BE-NAN-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
874*67e74705SXin Li // CHECK-BE-NAN-64-N32: "-internal-isystem"
875*67e74705SXin Li // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/nan2008"
876*67e74705SXin Li // CHECK-BE-NAN-64-N32: "-internal-isystem"
877*67e74705SXin Li // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
878*67e74705SXin Li // CHECK-BE-NAN-64-N32: "-internal-externc-isystem"
879*67e74705SXin Li // CHECK-BE-NAN-64-N32: "[[TC]]/include"
880*67e74705SXin Li // CHECK-BE-NAN-64-N32: "-internal-externc-isystem"
881*67e74705SXin Li // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/usr/include"
882*67e74705SXin Li // CHECK-BE-NAN-64-N32: "{{.*}}ld{{(.exe)?}}"
883*67e74705SXin Li // CHECK-BE-NAN-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/nan2008"
884*67e74705SXin Li // CHECK-BE-NAN-64-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
885*67e74705SXin Li // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crt1.o"
886*67e74705SXin Li // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crti.o"
887*67e74705SXin Li // CHECK-BE-NAN-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtbegin.o"
888*67e74705SXin Li // CHECK-BE-NAN-64-N32: "-L[[TC]]/mips64/nan2008"
889*67e74705SXin Li // CHECK-BE-NAN-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/nan2008"
890*67e74705SXin Li // CHECK-BE-NAN-64-N32: "-L[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib"
891*67e74705SXin Li // CHECK-BE-NAN-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtend.o"
892*67e74705SXin Li // CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crtn.o"
893*67e74705SXin Li //
894*67e74705SXin Li // = Big-endian, mips64, ABI n32, fp64, nan2008
895*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
896*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=n32 -mfp64 -mnan=2008 \
897*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
898*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-64-N32 %s
899*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "-internal-isystem"
900*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
901*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "-internal-isystem"
902*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/nan2008"
903*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "-internal-isystem"
904*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
905*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "-internal-externc-isystem"
906*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "[[TC]]/include"
907*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "-internal-externc-isystem"
908*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
909*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "{{.*}}ld{{(.exe)?}}"
910*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/nan2008"
911*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
912*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crt1.o"
913*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crti.o"
914*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtbegin.o"
915*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "-L[[TC]]/mips64/nan2008"
916*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/nan2008"
917*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib"
918*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtend.o"
919*67e74705SXin Li // CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crtn.o"
920*67e74705SXin Li //
921*67e74705SXin Li // = Big-endian, mips64, ABI 64, hard float
922*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
923*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=64 -mhard-float \
924*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
925*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64-64 %s
926*67e74705SXin Li // CHECK-BE-HF-64-64: "-internal-isystem"
927*67e74705SXin Li // CHECK-BE-HF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
928*67e74705SXin Li // CHECK-BE-HF-64-64: "-internal-isystem"
929*67e74705SXin Li // CHECK-BE-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64"
930*67e74705SXin Li // CHECK-BE-HF-64-64: "-internal-isystem"
931*67e74705SXin Li // CHECK-BE-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
932*67e74705SXin Li // CHECK-BE-HF-64-64: "-internal-externc-isystem"
933*67e74705SXin Li // CHECK-BE-HF-64-64: "[[TC]]/include"
934*67e74705SXin Li // CHECK-BE-HF-64-64: "-internal-externc-isystem"
935*67e74705SXin Li // CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/usr/include"
936*67e74705SXin Li // CHECK-BE-HF-64-64: "{{.*}}ld{{(.exe)?}}"
937*67e74705SXin Li // CHECK-BE-HF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64"
938*67e74705SXin Li // CHECK-BE-HF-64-64: "-dynamic-linker" "/lib64/ld.so.1"
939*67e74705SXin Li // CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crt1.o"
940*67e74705SXin Li // CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crti.o"
941*67e74705SXin Li // CHECK-BE-HF-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtbegin.o"
942*67e74705SXin Li // CHECK-BE-HF-64-64: "-L[[TC]]/mips64/64"
943*67e74705SXin Li // CHECK-BE-HF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64"
944*67e74705SXin Li // CHECK-BE-HF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/usr/lib"
945*67e74705SXin Li // CHECK-BE-HF-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtend.o"
946*67e74705SXin Li // CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crtn.o"
947*67e74705SXin Li //
948*67e74705SXin Li // = Big-endian, mips64, ABI 64, fp64, hard float
949*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
950*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=64 -mfp64 -mhard-float \
951*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
952*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-64-64 %s
953*67e74705SXin Li // CHECK-BE-HF64-64-64: "-internal-isystem"
954*67e74705SXin Li // CHECK-BE-HF64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
955*67e74705SXin Li // CHECK-BE-HF64-64-64: "-internal-isystem"
956*67e74705SXin Li // CHECK-BE-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64"
957*67e74705SXin Li // CHECK-BE-HF64-64-64: "-internal-isystem"
958*67e74705SXin Li // CHECK-BE-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
959*67e74705SXin Li // CHECK-BE-HF64-64-64: "-internal-externc-isystem"
960*67e74705SXin Li // CHECK-BE-HF64-64-64: "[[TC]]/include"
961*67e74705SXin Li // CHECK-BE-HF64-64-64: "-internal-externc-isystem"
962*67e74705SXin Li // CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/usr/include"
963*67e74705SXin Li // CHECK-BE-HF64-64-64: "{{.*}}ld{{(.exe)?}}"
964*67e74705SXin Li // CHECK-BE-HF64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64"
965*67e74705SXin Li // CHECK-BE-HF64-64-64: "-dynamic-linker" "/lib64/ld.so.1"
966*67e74705SXin Li // CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crt1.o"
967*67e74705SXin Li // CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crti.o"
968*67e74705SXin Li // CHECK-BE-HF64-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtbegin.o"
969*67e74705SXin Li // CHECK-BE-HF64-64-64: "-L[[TC]]/mips64/64"
970*67e74705SXin Li // CHECK-BE-HF64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64"
971*67e74705SXin Li // CHECK-BE-HF64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/usr/lib"
972*67e74705SXin Li // CHECK-BE-HF64-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtend.o"
973*67e74705SXin Li // CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crtn.o"
974*67e74705SXin Li //
975*67e74705SXin Li // = Big-endian, mips64, ABI 64, soft float
976*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
977*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=64 -msoft-float \
978*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
979*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-64-64 %s
980*67e74705SXin Li // CHECK-BE-SF-64-64: "-internal-isystem"
981*67e74705SXin Li // CHECK-BE-SF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
982*67e74705SXin Li // CHECK-BE-SF-64-64: "-internal-isystem"
983*67e74705SXin Li // CHECK-BE-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/sof"
984*67e74705SXin Li // CHECK-BE-SF-64-64: "-internal-isystem"
985*67e74705SXin Li // CHECK-BE-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
986*67e74705SXin Li // CHECK-BE-SF-64-64: "-internal-externc-isystem"
987*67e74705SXin Li // CHECK-BE-SF-64-64: "[[TC]]/include"
988*67e74705SXin Li // CHECK-BE-SF-64-64: "-internal-externc-isystem"
989*67e74705SXin Li // CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/usr/include"
990*67e74705SXin Li // CHECK-BE-SF-64-64: "{{.*}}ld{{(.exe)?}}"
991*67e74705SXin Li // CHECK-BE-SF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/sof"
992*67e74705SXin Li // CHECK-BE-SF-64-64: "-dynamic-linker" "/lib64/ld.so.1"
993*67e74705SXin Li // CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib{{/|\\\\}}crt1.o"
994*67e74705SXin Li // CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib{{/|\\\\}}crti.o"
995*67e74705SXin Li // CHECK-BE-SF-64-64: "[[TC]]/mips64/64/sof{{/|\\\\}}crtbegin.o"
996*67e74705SXin Li // CHECK-BE-SF-64-64: "-L[[TC]]/mips64/64/sof"
997*67e74705SXin Li // CHECK-BE-SF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/sof"
998*67e74705SXin Li // CHECK-BE-SF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib"
999*67e74705SXin Li // CHECK-BE-SF-64-64: "[[TC]]/mips64/64/sof{{/|\\\\}}crtend.o"
1000*67e74705SXin Li // CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib{{/|\\\\}}crtn.o"
1001*67e74705SXin Li //
1002*67e74705SXin Li // = Big-endian, mips64, ABI 64, nan2008
1003*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1004*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=64 -mnan=2008 \
1005*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1006*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-64-64 %s
1007*67e74705SXin Li // CHECK-BE-NAN-64-64: "-internal-isystem"
1008*67e74705SXin Li // CHECK-BE-NAN-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1009*67e74705SXin Li // CHECK-BE-NAN-64-64: "-internal-isystem"
1010*67e74705SXin Li // CHECK-BE-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/nan2008"
1011*67e74705SXin Li // CHECK-BE-NAN-64-64: "-internal-isystem"
1012*67e74705SXin Li // CHECK-BE-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1013*67e74705SXin Li // CHECK-BE-NAN-64-64: "-internal-externc-isystem"
1014*67e74705SXin Li // CHECK-BE-NAN-64-64: "[[TC]]/include"
1015*67e74705SXin Li // CHECK-BE-NAN-64-64: "-internal-externc-isystem"
1016*67e74705SXin Li // CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/usr/include"
1017*67e74705SXin Li // CHECK-BE-NAN-64-64: "{{.*}}ld{{(.exe)?}}"
1018*67e74705SXin Li // CHECK-BE-NAN-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/nan2008"
1019*67e74705SXin Li // CHECK-BE-NAN-64-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
1020*67e74705SXin Li // CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1021*67e74705SXin Li // CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1022*67e74705SXin Li // CHECK-BE-NAN-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtbegin.o"
1023*67e74705SXin Li // CHECK-BE-NAN-64-64: "-L[[TC]]/mips64/64/nan2008"
1024*67e74705SXin Li // CHECK-BE-NAN-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/nan2008"
1025*67e74705SXin Li // CHECK-BE-NAN-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib"
1026*67e74705SXin Li // CHECK-BE-NAN-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtend.o"
1027*67e74705SXin Li // CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1028*67e74705SXin Li //
1029*67e74705SXin Li // = Big-endian, mips64, ABI 64, fp64, nan2008
1030*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1031*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64 -mabi=64 -mfp64 -mnan=2008 \
1032*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1033*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-64-64 %s
1034*67e74705SXin Li // CHECK-BE-NAN64-64-64: "-internal-isystem"
1035*67e74705SXin Li // CHECK-BE-NAN64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1036*67e74705SXin Li // CHECK-BE-NAN64-64-64: "-internal-isystem"
1037*67e74705SXin Li // CHECK-BE-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/nan2008"
1038*67e74705SXin Li // CHECK-BE-NAN64-64-64: "-internal-isystem"
1039*67e74705SXin Li // CHECK-BE-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1040*67e74705SXin Li // CHECK-BE-NAN64-64-64: "-internal-externc-isystem"
1041*67e74705SXin Li // CHECK-BE-NAN64-64-64: "[[TC]]/include"
1042*67e74705SXin Li // CHECK-BE-NAN64-64-64: "-internal-externc-isystem"
1043*67e74705SXin Li // CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/usr/include"
1044*67e74705SXin Li // CHECK-BE-NAN64-64-64: "{{.*}}ld{{(.exe)?}}"
1045*67e74705SXin Li // CHECK-BE-NAN64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/nan2008"
1046*67e74705SXin Li // CHECK-BE-NAN64-64-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
1047*67e74705SXin Li // CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1048*67e74705SXin Li // CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1049*67e74705SXin Li // CHECK-BE-NAN64-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtbegin.o"
1050*67e74705SXin Li // CHECK-BE-NAN64-64-64: "-L[[TC]]/mips64/64/nan2008"
1051*67e74705SXin Li // CHECK-BE-NAN64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/nan2008"
1052*67e74705SXin Li // CHECK-BE-NAN64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib"
1053*67e74705SXin Li // CHECK-BE-NAN64-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtend.o"
1054*67e74705SXin Li // CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1055*67e74705SXin Li //
1056*67e74705SXin Li // = Big-endian, mips64r2, ABI n32, hard float
1057*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1058*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=n32 -mhard-float \
1059*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1060*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64R2-N32 %s
1061*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "-internal-isystem"
1062*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1063*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "-internal-isystem"
1064*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2"
1065*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "-internal-isystem"
1066*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1067*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "-internal-externc-isystem"
1068*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "[[TC]]/include"
1069*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "-internal-externc-isystem"
1070*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1071*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
1072*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2"
1073*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
1074*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crt1.o"
1075*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crti.o"
1076*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtbegin.o"
1077*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "-L[[TC]]/mips64r2"
1078*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2"
1079*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/usr/lib"
1080*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtend.o"
1081*67e74705SXin Li // CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crtn.o"
1082*67e74705SXin Li //
1083*67e74705SXin Li // = Big-endian, mips64r2, ABI n32, fp64, hard float
1084*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1085*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mhard-float \
1086*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1087*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-64R2-N32 %s
1088*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "-internal-isystem"
1089*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1090*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "-internal-isystem"
1091*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2"
1092*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "-internal-isystem"
1093*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1094*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "-internal-externc-isystem"
1095*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "[[TC]]/include"
1096*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "-internal-externc-isystem"
1097*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1098*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
1099*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2"
1100*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
1101*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crt1.o"
1102*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crti.o"
1103*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtbegin.o"
1104*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "-L[[TC]]/mips64r2"
1105*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2"
1106*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/usr/lib"
1107*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtend.o"
1108*67e74705SXin Li // CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crtn.o"
1109*67e74705SXin Li //
1110*67e74705SXin Li // = Big-endian, mips64r2, ABI n32, soft float
1111*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1112*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=n32 -msoft-float \
1113*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1114*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-64R2-N32 %s
1115*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "-internal-isystem"
1116*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1117*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "-internal-isystem"
1118*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/sof"
1119*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "-internal-isystem"
1120*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1121*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "-internal-externc-isystem"
1122*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "[[TC]]/include"
1123*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "-internal-externc-isystem"
1124*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1125*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
1126*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/sof"
1127*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
1128*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib{{/|\\\\}}crt1.o"
1129*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib{{/|\\\\}}crti.o"
1130*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "[[TC]]/mips64r2/sof{{/|\\\\}}crtbegin.o"
1131*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "-L[[TC]]/mips64r2/sof"
1132*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/sof"
1133*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib"
1134*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "[[TC]]/mips64r2/sof{{/|\\\\}}crtend.o"
1135*67e74705SXin Li // CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib{{/|\\\\}}crtn.o"
1136*67e74705SXin Li //
1137*67e74705SXin Li // = Big-endian, mips64r2, ABI n32, nan2008
1138*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1139*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=n32 -mnan=2008 \
1140*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1141*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-64R2-N32 %s
1142*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "-internal-isystem"
1143*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1144*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "-internal-isystem"
1145*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/nan2008"
1146*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "-internal-isystem"
1147*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1148*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "-internal-externc-isystem"
1149*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "[[TC]]/include"
1150*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "-internal-externc-isystem"
1151*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1152*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "{{.*}}ld{{(.exe)?}}"
1153*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/nan2008"
1154*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
1155*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crt1.o"
1156*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crti.o"
1157*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtbegin.o"
1158*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "-L[[TC]]/mips64r2/nan2008"
1159*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/nan2008"
1160*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib"
1161*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtend.o"
1162*67e74705SXin Li // CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crtn.o"
1163*67e74705SXin Li //
1164*67e74705SXin Li // = Big-endian, mips64r2, ABI n32, fp64, nan2008
1165*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1166*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mnan=2008 \
1167*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1168*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-64R2-N32 %s
1169*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "-internal-isystem"
1170*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1171*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "-internal-isystem"
1172*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/nan2008"
1173*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "-internal-isystem"
1174*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1175*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "-internal-externc-isystem"
1176*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "[[TC]]/include"
1177*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "-internal-externc-isystem"
1178*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1179*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
1180*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/nan2008"
1181*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
1182*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crt1.o"
1183*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crti.o"
1184*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtbegin.o"
1185*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "-L[[TC]]/mips64r2/nan2008"
1186*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/nan2008"
1187*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib"
1188*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtend.o"
1189*67e74705SXin Li // CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crtn.o"
1190*67e74705SXin Li //
1191*67e74705SXin Li // = Big-endian, mips64r2, ABI 64, hard float
1192*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1193*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=64 -mhard-float \
1194*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1195*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64R2-64 %s
1196*67e74705SXin Li // CHECK-BE-HF-64R2-64: "-internal-isystem"
1197*67e74705SXin Li // CHECK-BE-HF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1198*67e74705SXin Li // CHECK-BE-HF-64R2-64: "-internal-isystem"
1199*67e74705SXin Li // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64"
1200*67e74705SXin Li // CHECK-BE-HF-64R2-64: "-internal-isystem"
1201*67e74705SXin Li // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1202*67e74705SXin Li // CHECK-BE-HF-64R2-64: "-internal-externc-isystem"
1203*67e74705SXin Li // CHECK-BE-HF-64R2-64: "[[TC]]/include"
1204*67e74705SXin Li // CHECK-BE-HF-64R2-64: "-internal-externc-isystem"
1205*67e74705SXin Li // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1206*67e74705SXin Li // CHECK-BE-HF-64R2-64: "{{.*}}ld{{(.exe)?}}"
1207*67e74705SXin Li // CHECK-BE-HF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64"
1208*67e74705SXin Li // CHECK-BE-HF-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
1209*67e74705SXin Li // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crt1.o"
1210*67e74705SXin Li // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crti.o"
1211*67e74705SXin Li // CHECK-BE-HF-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtbegin.o"
1212*67e74705SXin Li // CHECK-BE-HF-64R2-64: "-L[[TC]]/mips64r2/64"
1213*67e74705SXin Li // CHECK-BE-HF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64"
1214*67e74705SXin Li // CHECK-BE-HF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/usr/lib"
1215*67e74705SXin Li // CHECK-BE-HF-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtend.o"
1216*67e74705SXin Li // CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crtn.o"
1217*67e74705SXin Li //
1218*67e74705SXin Li // = Big-endian, mips64r2, ABI 64, fp64, hard float
1219*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1220*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=64 -mfp64 -mhard-float \
1221*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1222*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF64-64R2-64 %s
1223*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "-internal-isystem"
1224*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1225*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "-internal-isystem"
1226*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64"
1227*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "-internal-isystem"
1228*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1229*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "-internal-externc-isystem"
1230*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "[[TC]]/include"
1231*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "-internal-externc-isystem"
1232*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1233*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "{{.*}}ld{{(.exe)?}}"
1234*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64"
1235*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
1236*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crt1.o"
1237*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crti.o"
1238*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtbegin.o"
1239*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "-L[[TC]]/mips64r2/64"
1240*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64"
1241*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/usr/lib"
1242*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtend.o"
1243*67e74705SXin Li // CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crtn.o"
1244*67e74705SXin Li //
1245*67e74705SXin Li // = Big-endian, mips64r2, ABI 64, soft float
1246*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1247*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=64 -msoft-float \
1248*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1249*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-64R2-64 %s
1250*67e74705SXin Li // CHECK-BE-SF-64R2-64: "-internal-isystem"
1251*67e74705SXin Li // CHECK-BE-SF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1252*67e74705SXin Li // CHECK-BE-SF-64R2-64: "-internal-isystem"
1253*67e74705SXin Li // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/sof"
1254*67e74705SXin Li // CHECK-BE-SF-64R2-64: "-internal-isystem"
1255*67e74705SXin Li // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1256*67e74705SXin Li // CHECK-BE-SF-64R2-64: "-internal-externc-isystem"
1257*67e74705SXin Li // CHECK-BE-SF-64R2-64: "[[TC]]/include"
1258*67e74705SXin Li // CHECK-BE-SF-64R2-64: "-internal-externc-isystem"
1259*67e74705SXin Li // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1260*67e74705SXin Li // CHECK-BE-SF-64R2-64: "{{.*}}ld{{(.exe)?}}"
1261*67e74705SXin Li // CHECK-BE-SF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/sof"
1262*67e74705SXin Li // CHECK-BE-SF-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
1263*67e74705SXin Li // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib{{/|\\\\}}crt1.o"
1264*67e74705SXin Li // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib{{/|\\\\}}crti.o"
1265*67e74705SXin Li // CHECK-BE-SF-64R2-64: "[[TC]]/mips64r2/64/sof{{/|\\\\}}crtbegin.o"
1266*67e74705SXin Li // CHECK-BE-SF-64R2-64: "-L[[TC]]/mips64r2/64/sof"
1267*67e74705SXin Li // CHECK-BE-SF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/sof"
1268*67e74705SXin Li // CHECK-BE-SF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib"
1269*67e74705SXin Li // CHECK-BE-SF-64R2-64: "[[TC]]/mips64r2/64/sof{{/|\\\\}}crtend.o"
1270*67e74705SXin Li // CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib{{/|\\\\}}crtn.o"
1271*67e74705SXin Li //
1272*67e74705SXin Li // = Big-endian, mips64r2, ABI 64, nan2008
1273*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1274*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=64 -mnan=2008 \
1275*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1276*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN-64R2-64 %s
1277*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "-internal-isystem"
1278*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1279*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "-internal-isystem"
1280*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/nan2008"
1281*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "-internal-isystem"
1282*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1283*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "-internal-externc-isystem"
1284*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "[[TC]]/include"
1285*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "-internal-externc-isystem"
1286*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1287*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "{{.*}}ld{{(.exe)?}}"
1288*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/nan2008"
1289*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
1290*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1291*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1292*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtbegin.o"
1293*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "-L[[TC]]/mips64r2/64/nan2008"
1294*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/nan2008"
1295*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib"
1296*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtend.o"
1297*67e74705SXin Li // CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1298*67e74705SXin Li //
1299*67e74705SXin Li // = Big-endian, mips64r2, ABI 64, fp64, nan2008
1300*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1301*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64r2 -mabi=64 -mfp64 -mnan=2008 \
1302*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1303*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-64R2-64 %s
1304*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "-internal-isystem"
1305*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1306*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "-internal-isystem"
1307*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/nan2008"
1308*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "-internal-isystem"
1309*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1310*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "-internal-externc-isystem"
1311*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "[[TC]]/include"
1312*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "-internal-externc-isystem"
1313*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1314*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "{{.*}}ld{{(.exe)?}}"
1315*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/nan2008"
1316*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
1317*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1318*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1319*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtbegin.o"
1320*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "-L[[TC]]/mips64r2/64/nan2008"
1321*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/nan2008"
1322*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib"
1323*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtend.o"
1324*67e74705SXin Li // CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1325*67e74705SXin Li //
1326*67e74705SXin Li // = Big-endian, default (mips64r2), ABI 64, fp64, nan2008
1327*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1328*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mabi=64 -mfp64 -mnan=2008 \
1329*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1330*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-NAN64-64R2-64-DEF %s
1331*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "-internal-isystem"
1332*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1333*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "-internal-isystem"
1334*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/nan2008"
1335*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "-internal-isystem"
1336*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1337*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "-internal-externc-isystem"
1338*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/include"
1339*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "-internal-externc-isystem"
1340*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/usr/include"
1341*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "{{.*}}ld{{(.exe)?}}"
1342*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/nan2008"
1343*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
1344*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1345*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1346*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtbegin.o"
1347*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "-L[[TC]]/mips64r2/64/nan2008"
1348*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/nan2008"
1349*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "-L[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib"
1350*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtend.o"
1351*67e74705SXin Li // CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1352*67e74705SXin Li //
1353*67e74705SXin Li // = Little-endian, mips32, hard float
1354*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1355*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mhard-float \
1356*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1357*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-32 %s
1358*67e74705SXin Li // CHECK-EL-HF-32: "-internal-isystem"
1359*67e74705SXin Li // CHECK-EL-HF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1360*67e74705SXin Li // CHECK-EL-HF-32: "-internal-isystem"
1361*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el"
1362*67e74705SXin Li // CHECK-EL-HF-32: "-internal-isystem"
1363*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1364*67e74705SXin Li // CHECK-EL-HF-32: "-internal-externc-isystem"
1365*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/include"
1366*67e74705SXin Li // CHECK-EL-HF-32: "-internal-externc-isystem"
1367*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/usr/include"
1368*67e74705SXin Li // CHECK-EL-HF-32: "{{.*}}ld{{(.exe)?}}"
1369*67e74705SXin Li // CHECK-EL-HF-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el"
1370*67e74705SXin Li // CHECK-EL-HF-32: "-dynamic-linker" "/lib/ld.so.1"
1371*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1372*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crti.o"
1373*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/mips32/el{{/|\\\\}}crtbegin.o"
1374*67e74705SXin Li // CHECK-EL-HF-32: "-L[[TC]]/mips32/el"
1375*67e74705SXin Li // CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el"
1376*67e74705SXin Li // CHECK-EL-HF-32: "-L[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib"
1377*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/mips32/el{{/|\\\\}}crtend.o"
1378*67e74705SXin Li // CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1379*67e74705SXin Li //
1380*67e74705SXin Li // = Little-endian, mips32, fp64, hard float
1381*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1382*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mfp64 -mhard-float \
1383*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1384*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-32 %s
1385*67e74705SXin Li // CHECK-EL-HF64-32: "-internal-isystem"
1386*67e74705SXin Li // CHECK-EL-HF64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1387*67e74705SXin Li // CHECK-EL-HF64-32: "-internal-isystem"
1388*67e74705SXin Li // CHECK-EL-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el"
1389*67e74705SXin Li // CHECK-EL-HF64-32: "-internal-isystem"
1390*67e74705SXin Li // CHECK-EL-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1391*67e74705SXin Li // CHECK-EL-HF64-32: "-internal-externc-isystem"
1392*67e74705SXin Li // CHECK-EL-HF64-32: "[[TC]]/include"
1393*67e74705SXin Li // CHECK-EL-HF64-32: "-internal-externc-isystem"
1394*67e74705SXin Li // CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/usr/include"
1395*67e74705SXin Li // CHECK-EL-HF64-32: "{{.*}}ld{{(.exe)?}}"
1396*67e74705SXin Li // CHECK-EL-HF64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el"
1397*67e74705SXin Li // CHECK-EL-HF64-32: "-dynamic-linker" "/lib/ld.so.1"
1398*67e74705SXin Li // CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1399*67e74705SXin Li // CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crti.o"
1400*67e74705SXin Li // CHECK-EL-HF64-32: "[[TC]]/mips32/el{{/|\\\\}}crtbegin.o"
1401*67e74705SXin Li // CHECK-EL-HF64-32: "-L[[TC]]/mips32/el"
1402*67e74705SXin Li // CHECK-EL-HF64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el"
1403*67e74705SXin Li // CHECK-EL-HF64-32: "-L[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib"
1404*67e74705SXin Li // CHECK-EL-HF64-32: "[[TC]]/mips32/el{{/|\\\\}}crtend.o"
1405*67e74705SXin Li // CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1406*67e74705SXin Li //
1407*67e74705SXin Li // = Little-endian, mips32, soft float
1408*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1409*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32 -msoft-float \
1410*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1411*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-32 %s
1412*67e74705SXin Li // CHECK-EL-SF-32: "-internal-isystem"
1413*67e74705SXin Li // CHECK-EL-SF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1414*67e74705SXin Li // CHECK-EL-SF-32: "-internal-isystem"
1415*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el/sof"
1416*67e74705SXin Li // CHECK-EL-SF-32: "-internal-isystem"
1417*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1418*67e74705SXin Li // CHECK-EL-SF-32: "-internal-externc-isystem"
1419*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/include"
1420*67e74705SXin Li // CHECK-EL-SF-32: "-internal-externc-isystem"
1421*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/usr/include"
1422*67e74705SXin Li // CHECK-EL-SF-32: "{{.*}}ld{{(.exe)?}}"
1423*67e74705SXin Li // CHECK-EL-SF-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el/sof"
1424*67e74705SXin Li // CHECK-EL-SF-32: "-dynamic-linker" "/lib/ld.so.1"
1425*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1426*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1427*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/mips32/el/sof{{/|\\\\}}crtbegin.o"
1428*67e74705SXin Li // CHECK-EL-SF-32: "-L[[TC]]/mips32/el/sof"
1429*67e74705SXin Li // CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el/sof"
1430*67e74705SXin Li // CHECK-EL-SF-32: "-L[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib"
1431*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/mips32/el/sof{{/|\\\\}}crtend.o"
1432*67e74705SXin Li // CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1433*67e74705SXin Li //
1434*67e74705SXin Li // = Little-endian, mips32 / mips16, hard float
1435*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1436*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mips16 -mhard-float \
1437*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1438*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-16 %s
1439*67e74705SXin Li // CHECK-EL-HF-16: "-internal-isystem"
1440*67e74705SXin Li // CHECK-EL-HF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1441*67e74705SXin Li // CHECK-EL-HF-16: "-internal-isystem"
1442*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el"
1443*67e74705SXin Li // CHECK-EL-HF-16: "-internal-isystem"
1444*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1445*67e74705SXin Li // CHECK-EL-HF-16: "-internal-externc-isystem"
1446*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/include"
1447*67e74705SXin Li // CHECK-EL-HF-16: "-internal-externc-isystem"
1448*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/usr/include"
1449*67e74705SXin Li // CHECK-EL-HF-16: "{{.*}}ld{{(.exe)?}}"
1450*67e74705SXin Li // CHECK-EL-HF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el"
1451*67e74705SXin Li // CHECK-EL-HF-16: "-dynamic-linker" "/lib/ld.so.1"
1452*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1453*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
1454*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtbegin.o"
1455*67e74705SXin Li // CHECK-EL-HF-16: "-L[[TC]]/mips32/mips16/el"
1456*67e74705SXin Li // CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el"
1457*67e74705SXin Li // CHECK-EL-HF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib"
1458*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtend.o"
1459*67e74705SXin Li // CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1460*67e74705SXin Li //
1461*67e74705SXin Li // = Little-endian, mips32 / mips16, fp64, hard float
1462*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1463*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mips16 -mfp64 -mhard-float \
1464*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1465*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-16 %s
1466*67e74705SXin Li // CHECK-EL-HF64-16: "-internal-isystem"
1467*67e74705SXin Li // CHECK-EL-HF64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1468*67e74705SXin Li // CHECK-EL-HF64-16: "-internal-isystem"
1469*67e74705SXin Li // CHECK-EL-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el"
1470*67e74705SXin Li // CHECK-EL-HF64-16: "-internal-isystem"
1471*67e74705SXin Li // CHECK-EL-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1472*67e74705SXin Li // CHECK-EL-HF64-16: "-internal-externc-isystem"
1473*67e74705SXin Li // CHECK-EL-HF64-16: "[[TC]]/include"
1474*67e74705SXin Li // CHECK-EL-HF64-16: "-internal-externc-isystem"
1475*67e74705SXin Li // CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/usr/include"
1476*67e74705SXin Li // CHECK-EL-HF64-16: "{{.*}}ld{{(.exe)?}}"
1477*67e74705SXin Li // CHECK-EL-HF64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el"
1478*67e74705SXin Li // CHECK-EL-HF64-16: "-dynamic-linker" "/lib/ld.so.1"
1479*67e74705SXin Li // CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1480*67e74705SXin Li // CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
1481*67e74705SXin Li // CHECK-EL-HF64-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtbegin.o"
1482*67e74705SXin Li // CHECK-EL-HF64-16: "-L[[TC]]/mips32/mips16/el"
1483*67e74705SXin Li // CHECK-EL-HF64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el"
1484*67e74705SXin Li // CHECK-EL-HF64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib"
1485*67e74705SXin Li // CHECK-EL-HF64-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtend.o"
1486*67e74705SXin Li // CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1487*67e74705SXin Li //
1488*67e74705SXin Li // = Little-endian, mips32 / mips16, soft float
1489*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1490*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mips16 -msoft-float \
1491*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1492*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-16 %s
1493*67e74705SXin Li // CHECK-EL-SF-16: "-internal-isystem"
1494*67e74705SXin Li // CHECK-EL-SF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1495*67e74705SXin Li // CHECK-EL-SF-16: "-internal-isystem"
1496*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el/sof"
1497*67e74705SXin Li // CHECK-EL-SF-16: "-internal-isystem"
1498*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1499*67e74705SXin Li // CHECK-EL-SF-16: "-internal-externc-isystem"
1500*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/include"
1501*67e74705SXin Li // CHECK-EL-SF-16: "-internal-externc-isystem"
1502*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/usr/include"
1503*67e74705SXin Li // CHECK-EL-SF-16: "{{.*}}ld{{(.exe)?}}"
1504*67e74705SXin Li // CHECK-EL-SF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el/sof"
1505*67e74705SXin Li // CHECK-EL-SF-16: "-dynamic-linker" "/lib/ld.so.1"
1506*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1507*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1508*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/mips32/mips16/el/sof{{/|\\\\}}crtbegin.o"
1509*67e74705SXin Li // CHECK-EL-SF-16: "-L[[TC]]/mips32/mips16/el/sof"
1510*67e74705SXin Li // CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el/sof"
1511*67e74705SXin Li // CHECK-EL-SF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib"
1512*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/mips32/mips16/el/sof{{/|\\\\}}crtend.o"
1513*67e74705SXin Li // CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1514*67e74705SXin Li //
1515*67e74705SXin Li // = Little-endian, mips32 / mips16, nan2008
1516*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1517*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mips16 -mnan=2008 \
1518*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1519*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-16 %s
1520*67e74705SXin Li // CHECK-EL-NAN-16: "-internal-isystem"
1521*67e74705SXin Li // CHECK-EL-NAN-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1522*67e74705SXin Li // CHECK-EL-NAN-16: "-internal-isystem"
1523*67e74705SXin Li // CHECK-EL-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el/nan2008"
1524*67e74705SXin Li // CHECK-EL-NAN-16: "-internal-isystem"
1525*67e74705SXin Li // CHECK-EL-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1526*67e74705SXin Li // CHECK-EL-NAN-16: "-internal-externc-isystem"
1527*67e74705SXin Li // CHECK-EL-NAN-16: "[[TC]]/include"
1528*67e74705SXin Li // CHECK-EL-NAN-16: "-internal-externc-isystem"
1529*67e74705SXin Li // CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/usr/include"
1530*67e74705SXin Li // CHECK-EL-NAN-16: "{{.*}}ld{{(.exe)?}}"
1531*67e74705SXin Li // CHECK-EL-NAN-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008"
1532*67e74705SXin Li // CHECK-EL-NAN-16: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1533*67e74705SXin Li // CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1534*67e74705SXin Li // CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1535*67e74705SXin Li // CHECK-EL-NAN-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
1536*67e74705SXin Li // CHECK-EL-NAN-16: "-L[[TC]]/mips32/mips16/el/nan2008"
1537*67e74705SXin Li // CHECK-EL-NAN-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el/nan2008"
1538*67e74705SXin Li // CHECK-EL-NAN-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib"
1539*67e74705SXin Li // CHECK-EL-NAN-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtend.o"
1540*67e74705SXin Li // CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1541*67e74705SXin Li //
1542*67e74705SXin Li // = Little-endian, mips32 / mips16, fp64, nan2008
1543*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1544*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mips16 -mfp64 -mnan=2008 \
1545*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1546*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-16 %s
1547*67e74705SXin Li // CHECK-EL-NAN64-16: "-internal-isystem"
1548*67e74705SXin Li // CHECK-EL-NAN64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1549*67e74705SXin Li // CHECK-EL-NAN64-16: "-internal-isystem"
1550*67e74705SXin Li // CHECK-EL-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el/nan2008"
1551*67e74705SXin Li // CHECK-EL-NAN64-16: "-internal-isystem"
1552*67e74705SXin Li // CHECK-EL-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1553*67e74705SXin Li // CHECK-EL-NAN64-16: "-internal-externc-isystem"
1554*67e74705SXin Li // CHECK-EL-NAN64-16: "[[TC]]/include"
1555*67e74705SXin Li // CHECK-EL-NAN64-16: "-internal-externc-isystem"
1556*67e74705SXin Li // CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/usr/include"
1557*67e74705SXin Li // CHECK-EL-NAN64-16: "{{.*}}ld{{(.exe)?}}"
1558*67e74705SXin Li // CHECK-EL-NAN64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008"
1559*67e74705SXin Li // CHECK-EL-NAN64-16: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1560*67e74705SXin Li // CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1561*67e74705SXin Li // CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1562*67e74705SXin Li // CHECK-EL-NAN64-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
1563*67e74705SXin Li // CHECK-EL-NAN64-16: "-L[[TC]]/mips32/mips16/el/nan2008"
1564*67e74705SXin Li // CHECK-EL-NAN64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el/nan2008"
1565*67e74705SXin Li // CHECK-EL-NAN64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib"
1566*67e74705SXin Li // CHECK-EL-NAN64-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtend.o"
1567*67e74705SXin Li // CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1568*67e74705SXin Li //
1569*67e74705SXin Li // = Little-endian, mips32, nan2008
1570*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1571*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mnan=2008 \
1572*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1573*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-32 %s
1574*67e74705SXin Li // CHECK-EL-NAN-32: "-internal-isystem"
1575*67e74705SXin Li // CHECK-EL-NAN-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1576*67e74705SXin Li // CHECK-EL-NAN-32: "-internal-isystem"
1577*67e74705SXin Li // CHECK-EL-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el/nan2008"
1578*67e74705SXin Li // CHECK-EL-NAN-32: "-internal-isystem"
1579*67e74705SXin Li // CHECK-EL-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1580*67e74705SXin Li // CHECK-EL-NAN-32: "-internal-externc-isystem"
1581*67e74705SXin Li // CHECK-EL-NAN-32: "[[TC]]/include"
1582*67e74705SXin Li // CHECK-EL-NAN-32: "-internal-externc-isystem"
1583*67e74705SXin Li // CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/usr/include"
1584*67e74705SXin Li // CHECK-EL-NAN-32: "{{.*}}ld{{(.exe)?}}"
1585*67e74705SXin Li // CHECK-EL-NAN-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el/nan2008"
1586*67e74705SXin Li // CHECK-EL-NAN-32: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1587*67e74705SXin Li // CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1588*67e74705SXin Li // CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1589*67e74705SXin Li // CHECK-EL-NAN-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtbegin.o"
1590*67e74705SXin Li // CHECK-EL-NAN-32: "-L[[TC]]/mips32/el/nan2008"
1591*67e74705SXin Li // CHECK-EL-NAN-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el/nan2008"
1592*67e74705SXin Li // CHECK-EL-NAN-32: "-L[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib"
1593*67e74705SXin Li // CHECK-EL-NAN-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtend.o"
1594*67e74705SXin Li // CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1595*67e74705SXin Li //
1596*67e74705SXin Li // = Little-endian, mips32, fp64, nan2008
1597*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1598*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32 -mfp64 -mnan=2008 \
1599*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1600*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-32 %s
1601*67e74705SXin Li // CHECK-EL-NAN64-32: "-internal-isystem"
1602*67e74705SXin Li // CHECK-EL-NAN64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1603*67e74705SXin Li // CHECK-EL-NAN64-32: "-internal-isystem"
1604*67e74705SXin Li // CHECK-EL-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el/nan2008"
1605*67e74705SXin Li // CHECK-EL-NAN64-32: "-internal-isystem"
1606*67e74705SXin Li // CHECK-EL-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1607*67e74705SXin Li // CHECK-EL-NAN64-32: "-internal-externc-isystem"
1608*67e74705SXin Li // CHECK-EL-NAN64-32: "[[TC]]/include"
1609*67e74705SXin Li // CHECK-EL-NAN64-32: "-internal-externc-isystem"
1610*67e74705SXin Li // CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/usr/include"
1611*67e74705SXin Li // CHECK-EL-NAN64-32: "{{.*}}ld{{(.exe)?}}"
1612*67e74705SXin Li // CHECK-EL-NAN64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el/nan2008"
1613*67e74705SXin Li // CHECK-EL-NAN64-32: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1614*67e74705SXin Li // CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1615*67e74705SXin Li // CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1616*67e74705SXin Li // CHECK-EL-NAN64-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtbegin.o"
1617*67e74705SXin Li // CHECK-EL-NAN64-32: "-L[[TC]]/mips32/el/nan2008"
1618*67e74705SXin Li // CHECK-EL-NAN64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el/nan2008"
1619*67e74705SXin Li // CHECK-EL-NAN64-32: "-L[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib"
1620*67e74705SXin Li // CHECK-EL-NAN64-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtend.o"
1621*67e74705SXin Li // CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1622*67e74705SXin Li //
1623*67e74705SXin Li // = Little-endian, mips32r2, hard float
1624*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1625*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mhard-float \
1626*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1627*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-32R2 %s
1628*67e74705SXin Li // CHECK-EL-HF-32R2: "-internal-isystem"
1629*67e74705SXin Li // CHECK-EL-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1630*67e74705SXin Li // CHECK-EL-HF-32R2: "-internal-isystem"
1631*67e74705SXin Li // CHECK-EL-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el"
1632*67e74705SXin Li // CHECK-EL-HF-32R2: "-internal-isystem"
1633*67e74705SXin Li // CHECK-EL-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1634*67e74705SXin Li // CHECK-EL-HF-32R2: "-internal-externc-isystem"
1635*67e74705SXin Li // CHECK-EL-HF-32R2: "[[TC]]/include"
1636*67e74705SXin Li // CHECK-EL-HF-32R2: "-internal-externc-isystem"
1637*67e74705SXin Li // CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/usr/include"
1638*67e74705SXin Li // CHECK-EL-HF-32R2: "{{.*}}ld{{(.exe)?}}"
1639*67e74705SXin Li // CHECK-EL-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot/el"
1640*67e74705SXin Li // CHECK-EL-HF-32R2: "-dynamic-linker" "/lib/ld.so.1"
1641*67e74705SXin Li // CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1642*67e74705SXin Li // CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crti.o"
1643*67e74705SXin Li // CHECK-EL-HF-32R2: "[[TC]]/el{{/|\\\\}}crtbegin.o"
1644*67e74705SXin Li // CHECK-EL-HF-32R2: "-L[[TC]]/el"
1645*67e74705SXin Li // CHECK-EL-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el"
1646*67e74705SXin Li // CHECK-EL-HF-32R2: "-L[[TC]]/../../../../sysroot/el/usr/lib/../lib"
1647*67e74705SXin Li // CHECK-EL-HF-32R2: "[[TC]]/el{{/|\\\\}}crtend.o"
1648*67e74705SXin Li // CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1649*67e74705SXin Li //
1650*67e74705SXin Li // = Little-endian, mips32r2, hard float, uclibc
1651*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1652*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mhard-float -muclibc \
1653*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1654*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-UC-HF-32R2 %s
1655*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "-internal-isystem"
1656*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1657*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "-internal-isystem"
1658*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/el"
1659*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "-internal-isystem"
1660*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1661*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "-internal-externc-isystem"
1662*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "[[TC]]/include"
1663*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "-internal-externc-isystem"
1664*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
1665*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "{{.*}}ld{{(.exe)?}}"
1666*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/el"
1667*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
1668*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1669*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib{{/|\\\\}}crti.o"
1670*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "[[TC]]/uclibc/el{{/|\\\\}}crtbegin.o"
1671*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "-L[[TC]]/uclibc/el"
1672*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/el"
1673*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib"
1674*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "[[TC]]/uclibc/el{{/|\\\\}}crtend.o"
1675*67e74705SXin Li // CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1676*67e74705SXin Li //
1677*67e74705SXin Li // = Little-endian, mips32r2, fp64, hard float
1678*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1679*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mfp64 -mhard-float \
1680*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1681*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-32R2 %s
1682*67e74705SXin Li // CHECK-EL-HF64-32R2: "-internal-isystem"
1683*67e74705SXin Li // CHECK-EL-HF64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1684*67e74705SXin Li // CHECK-EL-HF64-32R2: "-internal-isystem"
1685*67e74705SXin Li // CHECK-EL-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el"
1686*67e74705SXin Li // CHECK-EL-HF64-32R2: "-internal-isystem"
1687*67e74705SXin Li // CHECK-EL-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1688*67e74705SXin Li // CHECK-EL-HF64-32R2: "-internal-externc-isystem"
1689*67e74705SXin Li // CHECK-EL-HF64-32R2: "[[TC]]/include"
1690*67e74705SXin Li // CHECK-EL-HF64-32R2: "-internal-externc-isystem"
1691*67e74705SXin Li // CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/usr/include"
1692*67e74705SXin Li // CHECK-EL-HF64-32R2: "{{.*}}ld{{(.exe)?}}"
1693*67e74705SXin Li // CHECK-EL-HF64-32R2: "--sysroot=[[TC]]/../../../../sysroot/el"
1694*67e74705SXin Li // CHECK-EL-HF64-32R2: "-dynamic-linker" "/lib/ld.so.1"
1695*67e74705SXin Li // CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1696*67e74705SXin Li // CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crti.o"
1697*67e74705SXin Li // CHECK-EL-HF64-32R2: "[[TC]]/el{{/|\\\\}}crtbegin.o"
1698*67e74705SXin Li // CHECK-EL-HF64-32R2: "-L[[TC]]/el"
1699*67e74705SXin Li // CHECK-EL-HF64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el"
1700*67e74705SXin Li // CHECK-EL-HF64-32R2: "-L[[TC]]/../../../../sysroot/el/usr/lib/../lib"
1701*67e74705SXin Li // CHECK-EL-HF64-32R2: "[[TC]]/el{{/|\\\\}}crtend.o"
1702*67e74705SXin Li // CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1703*67e74705SXin Li //
1704*67e74705SXin Li // = Little-endian, mips32r2, soft float
1705*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1706*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -msoft-float \
1707*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1708*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-32R2 %s
1709*67e74705SXin Li // CHECK-EL-SF-32R2: "-internal-isystem"
1710*67e74705SXin Li // CHECK-EL-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1711*67e74705SXin Li // CHECK-EL-SF-32R2: "-internal-isystem"
1712*67e74705SXin Li // CHECK-EL-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/sof"
1713*67e74705SXin Li // CHECK-EL-SF-32R2: "-internal-isystem"
1714*67e74705SXin Li // CHECK-EL-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1715*67e74705SXin Li // CHECK-EL-SF-32R2: "-internal-externc-isystem"
1716*67e74705SXin Li // CHECK-EL-SF-32R2: "[[TC]]/include"
1717*67e74705SXin Li // CHECK-EL-SF-32R2: "-internal-externc-isystem"
1718*67e74705SXin Li // CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/usr/include"
1719*67e74705SXin Li // CHECK-EL-SF-32R2: "{{.*}}ld{{(.exe)?}}"
1720*67e74705SXin Li // CHECK-EL-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/el/sof"
1721*67e74705SXin Li // CHECK-EL-SF-32R2: "-dynamic-linker" "/lib/ld.so.1"
1722*67e74705SXin Li // CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1723*67e74705SXin Li // CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1724*67e74705SXin Li // CHECK-EL-SF-32R2: "[[TC]]/el/sof{{/|\\\\}}crtbegin.o"
1725*67e74705SXin Li // CHECK-EL-SF-32R2: "-L[[TC]]/el/sof"
1726*67e74705SXin Li // CHECK-EL-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/sof"
1727*67e74705SXin Li // CHECK-EL-SF-32R2: "-L[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib"
1728*67e74705SXin Li // CHECK-EL-SF-32R2: "[[TC]]/el/sof{{/|\\\\}}crtend.o"
1729*67e74705SXin Li // CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1730*67e74705SXin Li //
1731*67e74705SXin Li // = Little-endian, mips32r2, soft float, uclibc
1732*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1733*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -msoft-float -muclibc \
1734*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1735*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-UC-SF-32R2 %s
1736*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "-internal-isystem"
1737*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1738*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "-internal-isystem"
1739*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/el/sof"
1740*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "-internal-isystem"
1741*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1742*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "-internal-externc-isystem"
1743*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "[[TC]]/include"
1744*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "-internal-externc-isystem"
1745*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
1746*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "{{.*}}ld{{(.exe)?}}"
1747*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/el/sof"
1748*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
1749*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1750*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1751*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "[[TC]]/uclibc/el/sof{{/|\\\\}}crtbegin.o"
1752*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "-L[[TC]]/uclibc/el/sof"
1753*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/el/sof"
1754*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib"
1755*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "[[TC]]/uclibc/el/sof{{/|\\\\}}crtend.o"
1756*67e74705SXin Li // CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1757*67e74705SXin Li //
1758*67e74705SXin Li // = Little-endian, mips32r2 / mips16, hard float
1759*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1760*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mips16 -mhard-float \
1761*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1762*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-16R2 %s
1763*67e74705SXin Li // CHECK-EL-HF-16R2: "-internal-isystem"
1764*67e74705SXin Li // CHECK-EL-HF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1765*67e74705SXin Li // CHECK-EL-HF-16R2: "-internal-isystem"
1766*67e74705SXin Li // CHECK-EL-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el"
1767*67e74705SXin Li // CHECK-EL-HF-16R2: "-internal-isystem"
1768*67e74705SXin Li // CHECK-EL-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1769*67e74705SXin Li // CHECK-EL-HF-16R2: "-internal-externc-isystem"
1770*67e74705SXin Li // CHECK-EL-HF-16R2: "[[TC]]/include"
1771*67e74705SXin Li // CHECK-EL-HF-16R2: "-internal-externc-isystem"
1772*67e74705SXin Li // CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/usr/include"
1773*67e74705SXin Li // CHECK-EL-HF-16R2: "{{.*}}ld{{(.exe)?}}"
1774*67e74705SXin Li // CHECK-EL-HF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el"
1775*67e74705SXin Li // CHECK-EL-HF-16R2: "-dynamic-linker" "/lib/ld.so.1"
1776*67e74705SXin Li // CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1777*67e74705SXin Li // CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
1778*67e74705SXin Li // CHECK-EL-HF-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtbegin.o"
1779*67e74705SXin Li // CHECK-EL-HF-16R2: "-L[[TC]]/mips16/el"
1780*67e74705SXin Li // CHECK-EL-HF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el"
1781*67e74705SXin Li // CHECK-EL-HF-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib"
1782*67e74705SXin Li // CHECK-EL-HF-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtend.o"
1783*67e74705SXin Li // CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1784*67e74705SXin Li //
1785*67e74705SXin Li // = Little-endian, mips32r2 / mips16, fp64, hard float
1786*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1787*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mips16 -mfp64 -mhard-float \
1788*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1789*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-16R2 %s
1790*67e74705SXin Li // CHECK-EL-HF64-16R2: "-internal-isystem"
1791*67e74705SXin Li // CHECK-EL-HF64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1792*67e74705SXin Li // CHECK-EL-HF64-16R2: "-internal-isystem"
1793*67e74705SXin Li // CHECK-EL-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el"
1794*67e74705SXin Li // CHECK-EL-HF64-16R2: "-internal-isystem"
1795*67e74705SXin Li // CHECK-EL-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1796*67e74705SXin Li // CHECK-EL-HF64-16R2: "-internal-externc-isystem"
1797*67e74705SXin Li // CHECK-EL-HF64-16R2: "[[TC]]/include"
1798*67e74705SXin Li // CHECK-EL-HF64-16R2: "-internal-externc-isystem"
1799*67e74705SXin Li // CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/usr/include"
1800*67e74705SXin Li // CHECK-EL-HF64-16R2: "{{.*}}ld{{(.exe)?}}"
1801*67e74705SXin Li // CHECK-EL-HF64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el"
1802*67e74705SXin Li // CHECK-EL-HF64-16R2: "-dynamic-linker" "/lib/ld.so.1"
1803*67e74705SXin Li // CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1804*67e74705SXin Li // CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
1805*67e74705SXin Li // CHECK-EL-HF64-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtbegin.o"
1806*67e74705SXin Li // CHECK-EL-HF64-16R2: "-L[[TC]]/mips16/el"
1807*67e74705SXin Li // CHECK-EL-HF64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el"
1808*67e74705SXin Li // CHECK-EL-HF64-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib"
1809*67e74705SXin Li // CHECK-EL-HF64-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtend.o"
1810*67e74705SXin Li // CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1811*67e74705SXin Li //
1812*67e74705SXin Li // = Little-endian, mips32r2 / mips16, soft float
1813*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1814*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mips16 -msoft-float \
1815*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1816*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-16R2 %s
1817*67e74705SXin Li // CHECK-EL-SF-16R2: "-internal-isystem"
1818*67e74705SXin Li // CHECK-EL-SF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1819*67e74705SXin Li // CHECK-EL-SF-16R2: "-internal-isystem"
1820*67e74705SXin Li // CHECK-EL-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el/sof"
1821*67e74705SXin Li // CHECK-EL-SF-16R2: "-internal-isystem"
1822*67e74705SXin Li // CHECK-EL-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1823*67e74705SXin Li // CHECK-EL-SF-16R2: "-internal-externc-isystem"
1824*67e74705SXin Li // CHECK-EL-SF-16R2: "[[TC]]/include"
1825*67e74705SXin Li // CHECK-EL-SF-16R2: "-internal-externc-isystem"
1826*67e74705SXin Li // CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/usr/include"
1827*67e74705SXin Li // CHECK-EL-SF-16R2: "{{.*}}ld{{(.exe)?}}"
1828*67e74705SXin Li // CHECK-EL-SF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el/sof"
1829*67e74705SXin Li // CHECK-EL-SF-16R2: "-dynamic-linker" "/lib/ld.so.1"
1830*67e74705SXin Li // CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1831*67e74705SXin Li // CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1832*67e74705SXin Li // CHECK-EL-SF-16R2: "[[TC]]/mips16/el/sof{{/|\\\\}}crtbegin.o"
1833*67e74705SXin Li // CHECK-EL-SF-16R2: "-L[[TC]]/mips16/el/sof"
1834*67e74705SXin Li // CHECK-EL-SF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el/sof"
1835*67e74705SXin Li // CHECK-EL-SF-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib"
1836*67e74705SXin Li // CHECK-EL-SF-16R2: "[[TC]]/mips16/el/sof{{/|\\\\}}crtend.o"
1837*67e74705SXin Li // CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1838*67e74705SXin Li //
1839*67e74705SXin Li // = Little-endian, mips32r2 / mips16, nan2008
1840*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1841*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mips16 -mnan=2008 \
1842*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1843*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-16R2 %s
1844*67e74705SXin Li // CHECK-EL-NAN-16R2: "-internal-isystem"
1845*67e74705SXin Li // CHECK-EL-NAN-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1846*67e74705SXin Li // CHECK-EL-NAN-16R2: "-internal-isystem"
1847*67e74705SXin Li // CHECK-EL-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el/nan2008"
1848*67e74705SXin Li // CHECK-EL-NAN-16R2: "-internal-isystem"
1849*67e74705SXin Li // CHECK-EL-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1850*67e74705SXin Li // CHECK-EL-NAN-16R2: "-internal-externc-isystem"
1851*67e74705SXin Li // CHECK-EL-NAN-16R2: "[[TC]]/include"
1852*67e74705SXin Li // CHECK-EL-NAN-16R2: "-internal-externc-isystem"
1853*67e74705SXin Li // CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/usr/include"
1854*67e74705SXin Li // CHECK-EL-NAN-16R2: "{{.*}}ld{{(.exe)?}}"
1855*67e74705SXin Li // CHECK-EL-NAN-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el/nan2008"
1856*67e74705SXin Li // CHECK-EL-NAN-16R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1857*67e74705SXin Li // CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1858*67e74705SXin Li // CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1859*67e74705SXin Li // CHECK-EL-NAN-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
1860*67e74705SXin Li // CHECK-EL-NAN-16R2: "-L[[TC]]/mips16/el/nan2008"
1861*67e74705SXin Li // CHECK-EL-NAN-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el/nan2008"
1862*67e74705SXin Li // CHECK-EL-NAN-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib"
1863*67e74705SXin Li // CHECK-EL-NAN-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtend.o"
1864*67e74705SXin Li // CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1865*67e74705SXin Li //
1866*67e74705SXin Li // = Little-endian, mips32r2 / mips16, fp64, nan2008
1867*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1868*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mips16 -mfp64 -mnan=2008 \
1869*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1870*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-16R2 %s
1871*67e74705SXin Li // CHECK-EL-NAN64-16R2: "-internal-isystem"
1872*67e74705SXin Li // CHECK-EL-NAN64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1873*67e74705SXin Li // CHECK-EL-NAN64-16R2: "-internal-isystem"
1874*67e74705SXin Li // CHECK-EL-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el/nan2008"
1875*67e74705SXin Li // CHECK-EL-NAN64-16R2: "-internal-isystem"
1876*67e74705SXin Li // CHECK-EL-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1877*67e74705SXin Li // CHECK-EL-NAN64-16R2: "-internal-externc-isystem"
1878*67e74705SXin Li // CHECK-EL-NAN64-16R2: "[[TC]]/include"
1879*67e74705SXin Li // CHECK-EL-NAN64-16R2: "-internal-externc-isystem"
1880*67e74705SXin Li // CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/usr/include"
1881*67e74705SXin Li // CHECK-EL-NAN64-16R2: "{{.*}}ld{{(.exe)?}}"
1882*67e74705SXin Li // CHECK-EL-NAN64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el/nan2008"
1883*67e74705SXin Li // CHECK-EL-NAN64-16R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1884*67e74705SXin Li // CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1885*67e74705SXin Li // CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1886*67e74705SXin Li // CHECK-EL-NAN64-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
1887*67e74705SXin Li // CHECK-EL-NAN64-16R2: "-L[[TC]]/mips16/el/nan2008"
1888*67e74705SXin Li // CHECK-EL-NAN64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el/nan2008"
1889*67e74705SXin Li // CHECK-EL-NAN64-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib"
1890*67e74705SXin Li // CHECK-EL-NAN64-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtend.o"
1891*67e74705SXin Li // CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1892*67e74705SXin Li //
1893*67e74705SXin Li // = Little-endian, mips32r2, nan2008
1894*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1895*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mnan=2008 \
1896*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1897*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-32R2 %s
1898*67e74705SXin Li // CHECK-EL-NAN-32R2: "-internal-isystem"
1899*67e74705SXin Li // CHECK-EL-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1900*67e74705SXin Li // CHECK-EL-NAN-32R2: "-internal-isystem"
1901*67e74705SXin Li // CHECK-EL-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/nan2008"
1902*67e74705SXin Li // CHECK-EL-NAN-32R2: "-internal-isystem"
1903*67e74705SXin Li // CHECK-EL-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1904*67e74705SXin Li // CHECK-EL-NAN-32R2: "-internal-externc-isystem"
1905*67e74705SXin Li // CHECK-EL-NAN-32R2: "[[TC]]/include"
1906*67e74705SXin Li // CHECK-EL-NAN-32R2: "-internal-externc-isystem"
1907*67e74705SXin Li // CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/usr/include"
1908*67e74705SXin Li // CHECK-EL-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
1909*67e74705SXin Li // CHECK-EL-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/el/nan2008"
1910*67e74705SXin Li // CHECK-EL-NAN-32R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1911*67e74705SXin Li // CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1912*67e74705SXin Li // CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1913*67e74705SXin Li // CHECK-EL-NAN-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtbegin.o"
1914*67e74705SXin Li // CHECK-EL-NAN-32R2: "-L[[TC]]/el/nan2008"
1915*67e74705SXin Li // CHECK-EL-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/nan2008"
1916*67e74705SXin Li // CHECK-EL-NAN-32R2: "-L[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib"
1917*67e74705SXin Li // CHECK-EL-NAN-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtend.o"
1918*67e74705SXin Li // CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1919*67e74705SXin Li //
1920*67e74705SXin Li // = Little-endian, mips32r2, nan2008, uclibc
1921*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1922*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mnan=2008 -muclibc \
1923*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1924*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-UC-NAN-32R2 %s
1925*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "-internal-isystem"
1926*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1927*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "-internal-isystem"
1928*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/el/nan2008"
1929*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "-internal-isystem"
1930*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1931*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "-internal-externc-isystem"
1932*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "[[TC]]/include"
1933*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "-internal-externc-isystem"
1934*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
1935*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
1936*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/el/nan2008"
1937*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0"
1938*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1939*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1940*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "[[TC]]/uclibc/el/nan2008{{/|\\\\}}crtbegin.o"
1941*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "-L[[TC]]/uclibc/el/nan2008"
1942*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/el/nan2008"
1943*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "-L[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib"
1944*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "[[TC]]/uclibc/el/nan2008{{/|\\\\}}crtend.o"
1945*67e74705SXin Li // CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1946*67e74705SXin Li //
1947*67e74705SXin Li // = Little-endian, mips32r2, fp64, nan2008
1948*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1949*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mips32r2 -mfp64 -mnan=2008 \
1950*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1951*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-32R2 %s
1952*67e74705SXin Li // CHECK-EL-NAN64-32R2: "-internal-isystem"
1953*67e74705SXin Li // CHECK-EL-NAN64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1954*67e74705SXin Li // CHECK-EL-NAN64-32R2: "-internal-isystem"
1955*67e74705SXin Li // CHECK-EL-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/nan2008"
1956*67e74705SXin Li // CHECK-EL-NAN64-32R2: "-internal-isystem"
1957*67e74705SXin Li // CHECK-EL-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1958*67e74705SXin Li // CHECK-EL-NAN64-32R2: "-internal-externc-isystem"
1959*67e74705SXin Li // CHECK-EL-NAN64-32R2: "[[TC]]/include"
1960*67e74705SXin Li // CHECK-EL-NAN64-32R2: "-internal-externc-isystem"
1961*67e74705SXin Li // CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/usr/include"
1962*67e74705SXin Li // CHECK-EL-NAN64-32R2: "{{.*}}ld{{(.exe)?}}"
1963*67e74705SXin Li // CHECK-EL-NAN64-32R2: "--sysroot=[[TC]]/../../../../sysroot/el/nan2008"
1964*67e74705SXin Li // CHECK-EL-NAN64-32R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1965*67e74705SXin Li // CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1966*67e74705SXin Li // CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1967*67e74705SXin Li // CHECK-EL-NAN64-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtbegin.o"
1968*67e74705SXin Li // CHECK-EL-NAN64-32R2: "-L[[TC]]/el/nan2008"
1969*67e74705SXin Li // CHECK-EL-NAN64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/nan2008"
1970*67e74705SXin Li // CHECK-EL-NAN64-32R2: "-L[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib"
1971*67e74705SXin Li // CHECK-EL-NAN64-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtend.o"
1972*67e74705SXin Li // CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1973*67e74705SXin Li //
1974*67e74705SXin Li // = Little-endian, default (mips32r2), fp64, nan2008
1975*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1976*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mfp64 -mnan=2008 \
1977*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1978*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-32R2-DEF %s
1979*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "-internal-isystem"
1980*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1981*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "-internal-isystem"
1982*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/nan2008"
1983*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "-internal-isystem"
1984*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1985*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "-internal-externc-isystem"
1986*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/include"
1987*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "-internal-externc-isystem"
1988*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/usr/include"
1989*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "{{.*}}ld{{(.exe)?}}"
1990*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "--sysroot=[[TC]]/../../../../sysroot/el/nan2008"
1991*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
1992*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1993*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1994*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/el/nan2008{{/|\\\\}}crtbegin.o"
1995*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "-L[[TC]]/el/nan2008"
1996*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/nan2008"
1997*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "-L[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib"
1998*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/el/nan2008{{/|\\\\}}crtend.o"
1999*67e74705SXin Li // CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
2000*67e74705SXin Li //
2001*67e74705SXin Li // = Little-endian, micromips, hard float
2002*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2003*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mmicromips -mhard-float \
2004*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2005*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-MM %s
2006*67e74705SXin Li // CHECK-EL-HF-MM: "-internal-isystem"
2007*67e74705SXin Li // CHECK-EL-HF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2008*67e74705SXin Li // CHECK-EL-HF-MM: "-internal-isystem"
2009*67e74705SXin Li // CHECK-EL-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el"
2010*67e74705SXin Li // CHECK-EL-HF-MM: "-internal-isystem"
2011*67e74705SXin Li // CHECK-EL-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2012*67e74705SXin Li // CHECK-EL-HF-MM: "-internal-externc-isystem"
2013*67e74705SXin Li // CHECK-EL-HF-MM: "[[TC]]/include"
2014*67e74705SXin Li // CHECK-EL-HF-MM: "-internal-externc-isystem"
2015*67e74705SXin Li // CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/usr/include"
2016*67e74705SXin Li // CHECK-EL-HF-MM: "{{.*}}ld{{(.exe)?}}"
2017*67e74705SXin Li // CHECK-EL-HF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el"
2018*67e74705SXin Li // CHECK-EL-HF-MM: "-dynamic-linker" "/lib/ld.so.1"
2019*67e74705SXin Li // CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crt1.o"
2020*67e74705SXin Li // CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crti.o"
2021*67e74705SXin Li // CHECK-EL-HF-MM: "[[TC]]/micromips/el{{/|\\\\}}crtbegin.o"
2022*67e74705SXin Li // CHECK-EL-HF-MM: "-L[[TC]]/micromips/el"
2023*67e74705SXin Li // CHECK-EL-HF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el"
2024*67e74705SXin Li // CHECK-EL-HF-MM: "-L[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib"
2025*67e74705SXin Li // CHECK-EL-HF-MM: "[[TC]]/micromips/el{{/|\\\\}}crtend.o"
2026*67e74705SXin Li // CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crtn.o"
2027*67e74705SXin Li //
2028*67e74705SXin Li // = Little-endian, micromips, fp64, hard float
2029*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2030*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mmicromips -mfp64 -mhard-float \
2031*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2032*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-MM %s
2033*67e74705SXin Li // CHECK-EL-HF64-MM: "-internal-isystem"
2034*67e74705SXin Li // CHECK-EL-HF64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2035*67e74705SXin Li // CHECK-EL-HF64-MM: "-internal-isystem"
2036*67e74705SXin Li // CHECK-EL-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el"
2037*67e74705SXin Li // CHECK-EL-HF64-MM: "-internal-isystem"
2038*67e74705SXin Li // CHECK-EL-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2039*67e74705SXin Li // CHECK-EL-HF64-MM: "-internal-externc-isystem"
2040*67e74705SXin Li // CHECK-EL-HF64-MM: "[[TC]]/include"
2041*67e74705SXin Li // CHECK-EL-HF64-MM: "-internal-externc-isystem"
2042*67e74705SXin Li // CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/usr/include"
2043*67e74705SXin Li // CHECK-EL-HF64-MM: "{{.*}}ld{{(.exe)?}}"
2044*67e74705SXin Li // CHECK-EL-HF64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el"
2045*67e74705SXin Li // CHECK-EL-HF64-MM: "-dynamic-linker" "/lib/ld.so.1"
2046*67e74705SXin Li // CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crt1.o"
2047*67e74705SXin Li // CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crti.o"
2048*67e74705SXin Li // CHECK-EL-HF64-MM: "[[TC]]/micromips/el{{/|\\\\}}crtbegin.o"
2049*67e74705SXin Li // CHECK-EL-HF64-MM: "-L[[TC]]/micromips/el"
2050*67e74705SXin Li // CHECK-EL-HF64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el"
2051*67e74705SXin Li // CHECK-EL-HF64-MM: "-L[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib"
2052*67e74705SXin Li // CHECK-EL-HF64-MM: "[[TC]]/micromips/el{{/|\\\\}}crtend.o"
2053*67e74705SXin Li // CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crtn.o"
2054*67e74705SXin Li //
2055*67e74705SXin Li // = Little-endian, micromips, soft float
2056*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2057*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mmicromips -msoft-float \
2058*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2059*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-MM %s
2060*67e74705SXin Li // CHECK-EL-SF-MM: "-internal-isystem"
2061*67e74705SXin Li // CHECK-EL-SF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2062*67e74705SXin Li // CHECK-EL-SF-MM: "-internal-isystem"
2063*67e74705SXin Li // CHECK-EL-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el/sof"
2064*67e74705SXin Li // CHECK-EL-SF-MM: "-internal-isystem"
2065*67e74705SXin Li // CHECK-EL-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2066*67e74705SXin Li // CHECK-EL-SF-MM: "-internal-externc-isystem"
2067*67e74705SXin Li // CHECK-EL-SF-MM: "[[TC]]/include"
2068*67e74705SXin Li // CHECK-EL-SF-MM: "-internal-externc-isystem"
2069*67e74705SXin Li // CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/usr/include"
2070*67e74705SXin Li // CHECK-EL-SF-MM: "{{.*}}ld{{(.exe)?}}"
2071*67e74705SXin Li // CHECK-EL-SF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el/sof"
2072*67e74705SXin Li // CHECK-EL-SF-MM: "-dynamic-linker" "/lib/ld.so.1"
2073*67e74705SXin Li // CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
2074*67e74705SXin Li // CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
2075*67e74705SXin Li // CHECK-EL-SF-MM: "[[TC]]/micromips/el/sof{{/|\\\\}}crtbegin.o"
2076*67e74705SXin Li // CHECK-EL-SF-MM: "-L[[TC]]/micromips/el/sof"
2077*67e74705SXin Li // CHECK-EL-SF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el/sof"
2078*67e74705SXin Li // CHECK-EL-SF-MM: "-L[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib"
2079*67e74705SXin Li // CHECK-EL-SF-MM: "[[TC]]/micromips/el/sof{{/|\\\\}}crtend.o"
2080*67e74705SXin Li // CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
2081*67e74705SXin Li //
2082*67e74705SXin Li // = Little-endian, micromips, nan2008
2083*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2084*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mmicromips -mnan=2008 \
2085*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2086*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-MM %s
2087*67e74705SXin Li // CHECK-EL-NAN-MM: "-internal-isystem"
2088*67e74705SXin Li // CHECK-EL-NAN-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2089*67e74705SXin Li // CHECK-EL-NAN-MM: "-internal-isystem"
2090*67e74705SXin Li // CHECK-EL-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el/nan2008"
2091*67e74705SXin Li // CHECK-EL-NAN-MM: "-internal-isystem"
2092*67e74705SXin Li // CHECK-EL-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2093*67e74705SXin Li // CHECK-EL-NAN-MM: "-internal-externc-isystem"
2094*67e74705SXin Li // CHECK-EL-NAN-MM: "[[TC]]/include"
2095*67e74705SXin Li // CHECK-EL-NAN-MM: "-internal-externc-isystem"
2096*67e74705SXin Li // CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/usr/include"
2097*67e74705SXin Li // CHECK-EL-NAN-MM: "{{.*}}ld{{(.exe)?}}"
2098*67e74705SXin Li // CHECK-EL-NAN-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el/nan2008"
2099*67e74705SXin Li // CHECK-EL-NAN-MM: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
2100*67e74705SXin Li // CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
2101*67e74705SXin Li // CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
2102*67e74705SXin Li // CHECK-EL-NAN-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtbegin.o"
2103*67e74705SXin Li // CHECK-EL-NAN-MM: "-L[[TC]]/micromips/el/nan2008"
2104*67e74705SXin Li // CHECK-EL-NAN-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el/nan2008"
2105*67e74705SXin Li // CHECK-EL-NAN-MM: "-L[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib"
2106*67e74705SXin Li // CHECK-EL-NAN-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtend.o"
2107*67e74705SXin Li // CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
2108*67e74705SXin Li //
2109*67e74705SXin Li // = Little-endian, micromips, fp64, nan2008
2110*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2111*67e74705SXin Li // RUN:     --target=mipsel-mti-linux-gnu -mmicromips -mfp64 -mnan=2008 \
2112*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2113*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-MM %s
2114*67e74705SXin Li // CHECK-EL-NAN64-MM: "-internal-isystem"
2115*67e74705SXin Li // CHECK-EL-NAN64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2116*67e74705SXin Li // CHECK-EL-NAN64-MM: "-internal-isystem"
2117*67e74705SXin Li // CHECK-EL-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el/nan2008"
2118*67e74705SXin Li // CHECK-EL-NAN64-MM: "-internal-isystem"
2119*67e74705SXin Li // CHECK-EL-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2120*67e74705SXin Li // CHECK-EL-NAN64-MM: "-internal-externc-isystem"
2121*67e74705SXin Li // CHECK-EL-NAN64-MM: "[[TC]]/include"
2122*67e74705SXin Li // CHECK-EL-NAN64-MM: "-internal-externc-isystem"
2123*67e74705SXin Li // CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/usr/include"
2124*67e74705SXin Li // CHECK-EL-NAN64-MM: "{{.*}}ld{{(.exe)?}}"
2125*67e74705SXin Li // CHECK-EL-NAN64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el/nan2008"
2126*67e74705SXin Li // CHECK-EL-NAN64-MM: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
2127*67e74705SXin Li // CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
2128*67e74705SXin Li // CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
2129*67e74705SXin Li // CHECK-EL-NAN64-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtbegin.o"
2130*67e74705SXin Li // CHECK-EL-NAN64-MM: "-L[[TC]]/micromips/el/nan2008"
2131*67e74705SXin Li // CHECK-EL-NAN64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el/nan2008"
2132*67e74705SXin Li // CHECK-EL-NAN64-MM: "-L[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib"
2133*67e74705SXin Li // CHECK-EL-NAN64-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtend.o"
2134*67e74705SXin Li // CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
2135*67e74705SXin Li //
2136*67e74705SXin Li // = Little-endian, mips64, ABI n32, hard float
2137*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2138*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=n32 -mhard-float \
2139*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2140*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-64-N32 %s
2141*67e74705SXin Li // CHECK-EL-HF-64-N32: "-internal-isystem"
2142*67e74705SXin Li // CHECK-EL-HF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2143*67e74705SXin Li // CHECK-EL-HF-64-N32: "-internal-isystem"
2144*67e74705SXin Li // CHECK-EL-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el"
2145*67e74705SXin Li // CHECK-EL-HF-64-N32: "-internal-isystem"
2146*67e74705SXin Li // CHECK-EL-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2147*67e74705SXin Li // CHECK-EL-HF-64-N32: "-internal-externc-isystem"
2148*67e74705SXin Li // CHECK-EL-HF-64-N32: "[[TC]]/include"
2149*67e74705SXin Li // CHECK-EL-HF-64-N32: "-internal-externc-isystem"
2150*67e74705SXin Li // CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
2151*67e74705SXin Li // CHECK-EL-HF-64-N32: "{{.*}}ld{{(.exe)?}}"
2152*67e74705SXin Li // CHECK-EL-HF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el"
2153*67e74705SXin Li // CHECK-EL-HF-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
2154*67e74705SXin Li // CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crt1.o"
2155*67e74705SXin Li // CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crti.o"
2156*67e74705SXin Li // CHECK-EL-HF-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtbegin.o"
2157*67e74705SXin Li // CHECK-EL-HF-64-N32: "-L[[TC]]/mips64/el"
2158*67e74705SXin Li // CHECK-EL-HF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el"
2159*67e74705SXin Li // CHECK-EL-HF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/usr/lib"
2160*67e74705SXin Li // CHECK-EL-HF-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtend.o"
2161*67e74705SXin Li // CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crtn.o"
2162*67e74705SXin Li //
2163*67e74705SXin Li // = Little-endian, mips64, ABI n32, fp64, hard float
2164*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2165*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=n32 -mfp64 -mhard-float \
2166*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2167*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-64-N32 %s
2168*67e74705SXin Li // CHECK-EL-HF64-64-N32: "-internal-isystem"
2169*67e74705SXin Li // CHECK-EL-HF64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2170*67e74705SXin Li // CHECK-EL-HF64-64-N32: "-internal-isystem"
2171*67e74705SXin Li // CHECK-EL-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el"
2172*67e74705SXin Li // CHECK-EL-HF64-64-N32: "-internal-isystem"
2173*67e74705SXin Li // CHECK-EL-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2174*67e74705SXin Li // CHECK-EL-HF64-64-N32: "-internal-externc-isystem"
2175*67e74705SXin Li // CHECK-EL-HF64-64-N32: "[[TC]]/include"
2176*67e74705SXin Li // CHECK-EL-HF64-64-N32: "-internal-externc-isystem"
2177*67e74705SXin Li // CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
2178*67e74705SXin Li // CHECK-EL-HF64-64-N32: "{{.*}}ld{{(.exe)?}}"
2179*67e74705SXin Li // CHECK-EL-HF64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el"
2180*67e74705SXin Li // CHECK-EL-HF64-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
2181*67e74705SXin Li // CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crt1.o"
2182*67e74705SXin Li // CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crti.o"
2183*67e74705SXin Li // CHECK-EL-HF64-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtbegin.o"
2184*67e74705SXin Li // CHECK-EL-HF64-64-N32: "-L[[TC]]/mips64/el"
2185*67e74705SXin Li // CHECK-EL-HF64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el"
2186*67e74705SXin Li // CHECK-EL-HF64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/usr/lib"
2187*67e74705SXin Li // CHECK-EL-HF64-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtend.o"
2188*67e74705SXin Li // CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crtn.o"
2189*67e74705SXin Li //
2190*67e74705SXin Li // = Little-endian, mips64, ABI n32, soft float
2191*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2192*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=n32 -msoft-float \
2193*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2194*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-64-N32 %s
2195*67e74705SXin Li // CHECK-EL-SF-64-N32: "-internal-isystem"
2196*67e74705SXin Li // CHECK-EL-SF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2197*67e74705SXin Li // CHECK-EL-SF-64-N32: "-internal-isystem"
2198*67e74705SXin Li // CHECK-EL-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el/sof"
2199*67e74705SXin Li // CHECK-EL-SF-64-N32: "-internal-isystem"
2200*67e74705SXin Li // CHECK-EL-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2201*67e74705SXin Li // CHECK-EL-SF-64-N32: "-internal-externc-isystem"
2202*67e74705SXin Li // CHECK-EL-SF-64-N32: "[[TC]]/include"
2203*67e74705SXin Li // CHECK-EL-SF-64-N32: "-internal-externc-isystem"
2204*67e74705SXin Li // CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
2205*67e74705SXin Li // CHECK-EL-SF-64-N32: "{{.*}}ld{{(.exe)?}}"
2206*67e74705SXin Li // CHECK-EL-SF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el/sof"
2207*67e74705SXin Li // CHECK-EL-SF-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
2208*67e74705SXin Li // CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib{{/|\\\\}}crt1.o"
2209*67e74705SXin Li // CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib{{/|\\\\}}crti.o"
2210*67e74705SXin Li // CHECK-EL-SF-64-N32: "[[TC]]/mips64/el/sof{{/|\\\\}}crtbegin.o"
2211*67e74705SXin Li // CHECK-EL-SF-64-N32: "-L[[TC]]/mips64/el/sof"
2212*67e74705SXin Li // CHECK-EL-SF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el/sof"
2213*67e74705SXin Li // CHECK-EL-SF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib"
2214*67e74705SXin Li // CHECK-EL-SF-64-N32: "[[TC]]/mips64/el/sof{{/|\\\\}}crtend.o"
2215*67e74705SXin Li // CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib{{/|\\\\}}crtn.o"
2216*67e74705SXin Li //
2217*67e74705SXin Li // = Little-endian, mips64, ABI n32, nan2008
2218*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2219*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=n32 -mnan=2008 \
2220*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2221*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-64-N32 %s
2222*67e74705SXin Li // CHECK-EL-NAN-64-N32: "-internal-isystem"
2223*67e74705SXin Li // CHECK-EL-NAN-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2224*67e74705SXin Li // CHECK-EL-NAN-64-N32: "-internal-isystem"
2225*67e74705SXin Li // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el/nan2008"
2226*67e74705SXin Li // CHECK-EL-NAN-64-N32: "-internal-isystem"
2227*67e74705SXin Li // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2228*67e74705SXin Li // CHECK-EL-NAN-64-N32: "-internal-externc-isystem"
2229*67e74705SXin Li // CHECK-EL-NAN-64-N32: "[[TC]]/include"
2230*67e74705SXin Li // CHECK-EL-NAN-64-N32: "-internal-externc-isystem"
2231*67e74705SXin Li // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/usr/include"
2232*67e74705SXin Li // CHECK-EL-NAN-64-N32: "{{.*}}ld{{(.exe)?}}"
2233*67e74705SXin Li // CHECK-EL-NAN-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el/nan2008"
2234*67e74705SXin Li // CHECK-EL-NAN-64-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
2235*67e74705SXin Li // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2236*67e74705SXin Li // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2237*67e74705SXin Li // CHECK-EL-NAN-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtbegin.o"
2238*67e74705SXin Li // CHECK-EL-NAN-64-N32: "-L[[TC]]/mips64/el/nan2008"
2239*67e74705SXin Li // CHECK-EL-NAN-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el/nan2008"
2240*67e74705SXin Li // CHECK-EL-NAN-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib"
2241*67e74705SXin Li // CHECK-EL-NAN-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtend.o"
2242*67e74705SXin Li // CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2243*67e74705SXin Li //
2244*67e74705SXin Li // = Little-endian, mips64, ABI n32, fp64, nan2008
2245*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2246*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=n32 -mfp64 -mnan=2008 \
2247*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2248*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-64-N32 %s
2249*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "-internal-isystem"
2250*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2251*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "-internal-isystem"
2252*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el/nan2008"
2253*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "-internal-isystem"
2254*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2255*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "-internal-externc-isystem"
2256*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "[[TC]]/include"
2257*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "-internal-externc-isystem"
2258*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
2259*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "{{.*}}ld{{(.exe)?}}"
2260*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el/nan2008"
2261*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
2262*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2263*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2264*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtbegin.o"
2265*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "-L[[TC]]/mips64/el/nan2008"
2266*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el/nan2008"
2267*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib"
2268*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtend.o"
2269*67e74705SXin Li // CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2270*67e74705SXin Li //
2271*67e74705SXin Li // = Little-endian, mips64, ABI 64, hard float
2272*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2273*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=64 -mhard-float \
2274*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2275*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-64-64 %s
2276*67e74705SXin Li // CHECK-EL-HF-64-64: "-internal-isystem"
2277*67e74705SXin Li // CHECK-EL-HF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2278*67e74705SXin Li // CHECK-EL-HF-64-64: "-internal-isystem"
2279*67e74705SXin Li // CHECK-EL-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el"
2280*67e74705SXin Li // CHECK-EL-HF-64-64: "-internal-isystem"
2281*67e74705SXin Li // CHECK-EL-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2282*67e74705SXin Li // CHECK-EL-HF-64-64: "-internal-externc-isystem"
2283*67e74705SXin Li // CHECK-EL-HF-64-64: "[[TC]]/include"
2284*67e74705SXin Li // CHECK-EL-HF-64-64: "-internal-externc-isystem"
2285*67e74705SXin Li // CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/usr/include"
2286*67e74705SXin Li // CHECK-EL-HF-64-64: "{{.*}}ld{{(.exe)?}}"
2287*67e74705SXin Li // CHECK-EL-HF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el"
2288*67e74705SXin Li // CHECK-EL-HF-64-64: "-dynamic-linker" "/lib64/ld.so.1"
2289*67e74705SXin Li // CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crt1.o"
2290*67e74705SXin Li // CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crti.o"
2291*67e74705SXin Li // CHECK-EL-HF-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtbegin.o"
2292*67e74705SXin Li // CHECK-EL-HF-64-64: "-L[[TC]]/mips64/64/el"
2293*67e74705SXin Li // CHECK-EL-HF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el"
2294*67e74705SXin Li // CHECK-EL-HF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/usr/lib"
2295*67e74705SXin Li // CHECK-EL-HF-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtend.o"
2296*67e74705SXin Li // CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crtn.o"
2297*67e74705SXin Li //
2298*67e74705SXin Li // = Little-endian, mips64, ABI 64, fp64, hard float
2299*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2300*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=64 -mfp64 -mhard-float \
2301*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2302*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-64-64 %s
2303*67e74705SXin Li // CHECK-EL-HF64-64-64: "-internal-isystem"
2304*67e74705SXin Li // CHECK-EL-HF64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2305*67e74705SXin Li // CHECK-EL-HF64-64-64: "-internal-isystem"
2306*67e74705SXin Li // CHECK-EL-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el"
2307*67e74705SXin Li // CHECK-EL-HF64-64-64: "-internal-isystem"
2308*67e74705SXin Li // CHECK-EL-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2309*67e74705SXin Li // CHECK-EL-HF64-64-64: "-internal-externc-isystem"
2310*67e74705SXin Li // CHECK-EL-HF64-64-64: "[[TC]]/include"
2311*67e74705SXin Li // CHECK-EL-HF64-64-64: "-internal-externc-isystem"
2312*67e74705SXin Li // CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/usr/include"
2313*67e74705SXin Li // CHECK-EL-HF64-64-64: "{{.*}}ld{{(.exe)?}}"
2314*67e74705SXin Li // CHECK-EL-HF64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el"
2315*67e74705SXin Li // CHECK-EL-HF64-64-64: "-dynamic-linker" "/lib64/ld.so.1"
2316*67e74705SXin Li // CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crt1.o"
2317*67e74705SXin Li // CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crti.o"
2318*67e74705SXin Li // CHECK-EL-HF64-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtbegin.o"
2319*67e74705SXin Li // CHECK-EL-HF64-64-64: "-L[[TC]]/mips64/64/el"
2320*67e74705SXin Li // CHECK-EL-HF64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el"
2321*67e74705SXin Li // CHECK-EL-HF64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/usr/lib"
2322*67e74705SXin Li // CHECK-EL-HF64-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtend.o"
2323*67e74705SXin Li // CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crtn.o"
2324*67e74705SXin Li //
2325*67e74705SXin Li // = Little-endian, mips64, ABI 64, soft float
2326*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2327*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=64 -msoft-float \
2328*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2329*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-64-64 %s
2330*67e74705SXin Li // CHECK-EL-SF-64-64: "-internal-isystem"
2331*67e74705SXin Li // CHECK-EL-SF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2332*67e74705SXin Li // CHECK-EL-SF-64-64: "-internal-isystem"
2333*67e74705SXin Li // CHECK-EL-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el/sof"
2334*67e74705SXin Li // CHECK-EL-SF-64-64: "-internal-isystem"
2335*67e74705SXin Li // CHECK-EL-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2336*67e74705SXin Li // CHECK-EL-SF-64-64: "-internal-externc-isystem"
2337*67e74705SXin Li // CHECK-EL-SF-64-64: "[[TC]]/include"
2338*67e74705SXin Li // CHECK-EL-SF-64-64: "-internal-externc-isystem"
2339*67e74705SXin Li // CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/usr/include"
2340*67e74705SXin Li // CHECK-EL-SF-64-64: "{{.*}}ld{{(.exe)?}}"
2341*67e74705SXin Li // CHECK-EL-SF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el/sof"
2342*67e74705SXin Li // CHECK-EL-SF-64-64: "-dynamic-linker" "/lib64/ld.so.1"
2343*67e74705SXin Li // CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib{{/|\\\\}}crt1.o"
2344*67e74705SXin Li // CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib{{/|\\\\}}crti.o"
2345*67e74705SXin Li // CHECK-EL-SF-64-64: "[[TC]]/mips64/64/el/sof{{/|\\\\}}crtbegin.o"
2346*67e74705SXin Li // CHECK-EL-SF-64-64: "-L[[TC]]/mips64/64/el/sof"
2347*67e74705SXin Li // CHECK-EL-SF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el/sof"
2348*67e74705SXin Li // CHECK-EL-SF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib"
2349*67e74705SXin Li // CHECK-EL-SF-64-64: "[[TC]]/mips64/64/el/sof{{/|\\\\}}crtend.o"
2350*67e74705SXin Li // CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib{{/|\\\\}}crtn.o"
2351*67e74705SXin Li //
2352*67e74705SXin Li // = Little-endian, mips64, ABI 64, nan2008
2353*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2354*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=64 -mnan=2008 \
2355*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2356*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-64-64 %s
2357*67e74705SXin Li // CHECK-EL-NAN-64-64: "-internal-isystem"
2358*67e74705SXin Li // CHECK-EL-NAN-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2359*67e74705SXin Li // CHECK-EL-NAN-64-64: "-internal-isystem"
2360*67e74705SXin Li // CHECK-EL-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el/nan2008"
2361*67e74705SXin Li // CHECK-EL-NAN-64-64: "-internal-isystem"
2362*67e74705SXin Li // CHECK-EL-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2363*67e74705SXin Li // CHECK-EL-NAN-64-64: "-internal-externc-isystem"
2364*67e74705SXin Li // CHECK-EL-NAN-64-64: "[[TC]]/include"
2365*67e74705SXin Li // CHECK-EL-NAN-64-64: "-internal-externc-isystem"
2366*67e74705SXin Li // CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/usr/include"
2367*67e74705SXin Li // CHECK-EL-NAN-64-64: "{{.*}}ld{{(.exe)?}}"
2368*67e74705SXin Li // CHECK-EL-NAN-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el/nan2008"
2369*67e74705SXin Li // CHECK-EL-NAN-64-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
2370*67e74705SXin Li // CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2371*67e74705SXin Li // CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2372*67e74705SXin Li // CHECK-EL-NAN-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtbegin.o"
2373*67e74705SXin Li // CHECK-EL-NAN-64-64: "-L[[TC]]/mips64/64/el/nan2008"
2374*67e74705SXin Li // CHECK-EL-NAN-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el/nan2008"
2375*67e74705SXin Li // CHECK-EL-NAN-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib"
2376*67e74705SXin Li // CHECK-EL-NAN-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtend.o"
2377*67e74705SXin Li // CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2378*67e74705SXin Li //
2379*67e74705SXin Li // = Little-endian, mips64, ABI 64, fp64, nan2008
2380*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2381*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64 -mabi=64 -mfp64 -mnan=2008 \
2382*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2383*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-64-64 %s
2384*67e74705SXin Li // CHECK-EL-NAN64-64-64: "-internal-isystem"
2385*67e74705SXin Li // CHECK-EL-NAN64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2386*67e74705SXin Li // CHECK-EL-NAN64-64-64: "-internal-isystem"
2387*67e74705SXin Li // CHECK-EL-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el/nan2008"
2388*67e74705SXin Li // CHECK-EL-NAN64-64-64: "-internal-isystem"
2389*67e74705SXin Li // CHECK-EL-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2390*67e74705SXin Li // CHECK-EL-NAN64-64-64: "-internal-externc-isystem"
2391*67e74705SXin Li // CHECK-EL-NAN64-64-64: "[[TC]]/include"
2392*67e74705SXin Li // CHECK-EL-NAN64-64-64: "-internal-externc-isystem"
2393*67e74705SXin Li // CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/usr/include"
2394*67e74705SXin Li // CHECK-EL-NAN64-64-64: "{{.*}}ld{{(.exe)?}}"
2395*67e74705SXin Li // CHECK-EL-NAN64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el/nan2008"
2396*67e74705SXin Li // CHECK-EL-NAN64-64-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
2397*67e74705SXin Li // CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2398*67e74705SXin Li // CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2399*67e74705SXin Li // CHECK-EL-NAN64-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtbegin.o"
2400*67e74705SXin Li // CHECK-EL-NAN64-64-64: "-L[[TC]]/mips64/64/el/nan2008"
2401*67e74705SXin Li // CHECK-EL-NAN64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el/nan2008"
2402*67e74705SXin Li // CHECK-EL-NAN64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib"
2403*67e74705SXin Li // CHECK-EL-NAN64-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtend.o"
2404*67e74705SXin Li // CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2405*67e74705SXin Li //
2406*67e74705SXin Li // = Little-endian, mips64r2, ABI n32, hard float
2407*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2408*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=n32 -mhard-float \
2409*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2410*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-64R2-N32 %s
2411*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "-internal-isystem"
2412*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2413*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "-internal-isystem"
2414*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el"
2415*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "-internal-isystem"
2416*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2417*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "-internal-externc-isystem"
2418*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "[[TC]]/include"
2419*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "-internal-externc-isystem"
2420*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2421*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
2422*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el"
2423*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
2424*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crt1.o"
2425*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crti.o"
2426*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtbegin.o"
2427*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "-L[[TC]]/mips64r2/el"
2428*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el"
2429*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/usr/lib"
2430*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtend.o"
2431*67e74705SXin Li // CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crtn.o"
2432*67e74705SXin Li //
2433*67e74705SXin Li // = Little-endian, mips64r2, ABI n32, fp64, hard float
2434*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2435*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mhard-float \
2436*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2437*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-64R2-N32 %s
2438*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "-internal-isystem"
2439*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2440*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "-internal-isystem"
2441*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el"
2442*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "-internal-isystem"
2443*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2444*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "-internal-externc-isystem"
2445*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "[[TC]]/include"
2446*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "-internal-externc-isystem"
2447*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2448*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
2449*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el"
2450*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
2451*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crt1.o"
2452*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crti.o"
2453*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtbegin.o"
2454*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "-L[[TC]]/mips64r2/el"
2455*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el"
2456*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/usr/lib"
2457*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtend.o"
2458*67e74705SXin Li // CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crtn.o"
2459*67e74705SXin Li //
2460*67e74705SXin Li // = Little-endian, mips64r2, ABI n32, soft float
2461*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2462*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=n32 -msoft-float \
2463*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2464*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-64R2-N32 %s
2465*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "-internal-isystem"
2466*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2467*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "-internal-isystem"
2468*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el/sof"
2469*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "-internal-isystem"
2470*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2471*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "-internal-externc-isystem"
2472*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "[[TC]]/include"
2473*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "-internal-externc-isystem"
2474*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2475*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
2476*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el/sof"
2477*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
2478*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib{{/|\\\\}}crt1.o"
2479*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib{{/|\\\\}}crti.o"
2480*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "[[TC]]/mips64r2/el/sof{{/|\\\\}}crtbegin.o"
2481*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "-L[[TC]]/mips64r2/el/sof"
2482*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el/sof"
2483*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib"
2484*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "[[TC]]/mips64r2/el/sof{{/|\\\\}}crtend.o"
2485*67e74705SXin Li // CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib{{/|\\\\}}crtn.o"
2486*67e74705SXin Li //
2487*67e74705SXin Li // = Little-endian, mips64r2, ABI n32, nan2008
2488*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2489*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=n32 -mnan=2008 \
2490*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2491*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-64R2-N32 %s
2492*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "-internal-isystem"
2493*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2494*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "-internal-isystem"
2495*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el/nan2008"
2496*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "-internal-isystem"
2497*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2498*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "-internal-externc-isystem"
2499*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "[[TC]]/include"
2500*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "-internal-externc-isystem"
2501*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2502*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "{{.*}}ld{{(.exe)?}}"
2503*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el/nan2008"
2504*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
2505*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2506*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2507*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtbegin.o"
2508*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "-L[[TC]]/mips64r2/el/nan2008"
2509*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el/nan2008"
2510*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib"
2511*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtend.o"
2512*67e74705SXin Li // CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2513*67e74705SXin Li //
2514*67e74705SXin Li // = Little-endian, mips64r2, ABI n32, fp64, nan2008
2515*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2516*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mnan=2008 \
2517*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2518*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-64R2-N32 %s
2519*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "-internal-isystem"
2520*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2521*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "-internal-isystem"
2522*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el/nan2008"
2523*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "-internal-isystem"
2524*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2525*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "-internal-externc-isystem"
2526*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "[[TC]]/include"
2527*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "-internal-externc-isystem"
2528*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2529*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
2530*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el/nan2008"
2531*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
2532*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2533*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2534*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtbegin.o"
2535*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "-L[[TC]]/mips64r2/el/nan2008"
2536*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el/nan2008"
2537*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib"
2538*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtend.o"
2539*67e74705SXin Li // CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2540*67e74705SXin Li //
2541*67e74705SXin Li // = Little-endian, mips64r2, ABI 64, hard float
2542*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2543*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=64 -mhard-float \
2544*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2545*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-64R2-64 %s
2546*67e74705SXin Li // CHECK-EL-HF-64R2-64: "-internal-isystem"
2547*67e74705SXin Li // CHECK-EL-HF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2548*67e74705SXin Li // CHECK-EL-HF-64R2-64: "-internal-isystem"
2549*67e74705SXin Li // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el"
2550*67e74705SXin Li // CHECK-EL-HF-64R2-64: "-internal-isystem"
2551*67e74705SXin Li // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2552*67e74705SXin Li // CHECK-EL-HF-64R2-64: "-internal-externc-isystem"
2553*67e74705SXin Li // CHECK-EL-HF-64R2-64: "[[TC]]/include"
2554*67e74705SXin Li // CHECK-EL-HF-64R2-64: "-internal-externc-isystem"
2555*67e74705SXin Li // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2556*67e74705SXin Li // CHECK-EL-HF-64R2-64: "{{.*}}ld{{(.exe)?}}"
2557*67e74705SXin Li // CHECK-EL-HF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el"
2558*67e74705SXin Li // CHECK-EL-HF-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
2559*67e74705SXin Li // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crt1.o"
2560*67e74705SXin Li // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crti.o"
2561*67e74705SXin Li // CHECK-EL-HF-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtbegin.o"
2562*67e74705SXin Li // CHECK-EL-HF-64R2-64: "-L[[TC]]/mips64r2/64/el"
2563*67e74705SXin Li // CHECK-EL-HF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el"
2564*67e74705SXin Li // CHECK-EL-HF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib"
2565*67e74705SXin Li // CHECK-EL-HF-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtend.o"
2566*67e74705SXin Li // CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crtn.o"
2567*67e74705SXin Li //
2568*67e74705SXin Li // = Little-endian, mips64r2, ABI 64, fp64, hard float
2569*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2570*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=64 -mfp64 -mhard-float \
2571*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2572*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-HF64-64R2-64 %s
2573*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "-internal-isystem"
2574*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2575*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "-internal-isystem"
2576*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el"
2577*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "-internal-isystem"
2578*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2579*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "-internal-externc-isystem"
2580*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "[[TC]]/include"
2581*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "-internal-externc-isystem"
2582*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2583*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "{{.*}}ld{{(.exe)?}}"
2584*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el"
2585*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
2586*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crt1.o"
2587*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crti.o"
2588*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtbegin.o"
2589*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "-L[[TC]]/mips64r2/64/el"
2590*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el"
2591*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib"
2592*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtend.o"
2593*67e74705SXin Li // CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crtn.o"
2594*67e74705SXin Li //
2595*67e74705SXin Li // = Little-endian, mips64r2, ABI 64, soft float
2596*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2597*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=64 -msoft-float \
2598*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2599*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-64R2-64 %s
2600*67e74705SXin Li // CHECK-EL-SF-64R2-64: "-internal-isystem"
2601*67e74705SXin Li // CHECK-EL-SF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2602*67e74705SXin Li // CHECK-EL-SF-64R2-64: "-internal-isystem"
2603*67e74705SXin Li // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/sof"
2604*67e74705SXin Li // CHECK-EL-SF-64R2-64: "-internal-isystem"
2605*67e74705SXin Li // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2606*67e74705SXin Li // CHECK-EL-SF-64R2-64: "-internal-externc-isystem"
2607*67e74705SXin Li // CHECK-EL-SF-64R2-64: "[[TC]]/include"
2608*67e74705SXin Li // CHECK-EL-SF-64R2-64: "-internal-externc-isystem"
2609*67e74705SXin Li // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2610*67e74705SXin Li // CHECK-EL-SF-64R2-64: "{{.*}}ld{{(.exe)?}}"
2611*67e74705SXin Li // CHECK-EL-SF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/sof"
2612*67e74705SXin Li // CHECK-EL-SF-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
2613*67e74705SXin Li // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib{{/|\\\\}}crt1.o"
2614*67e74705SXin Li // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib{{/|\\\\}}crti.o"
2615*67e74705SXin Li // CHECK-EL-SF-64R2-64: "[[TC]]/mips64r2/64/el/sof{{/|\\\\}}crtbegin.o"
2616*67e74705SXin Li // CHECK-EL-SF-64R2-64: "-L[[TC]]/mips64r2/64/el/sof"
2617*67e74705SXin Li // CHECK-EL-SF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/sof"
2618*67e74705SXin Li // CHECK-EL-SF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib"
2619*67e74705SXin Li // CHECK-EL-SF-64R2-64: "[[TC]]/mips64r2/64/el/sof{{/|\\\\}}crtend.o"
2620*67e74705SXin Li // CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib{{/|\\\\}}crtn.o"
2621*67e74705SXin Li //
2622*67e74705SXin Li // = Little-endian, mips64r2, ABI 64, nan2008
2623*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2624*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=64 -mnan=2008 \
2625*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2626*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN-64R2-64 %s
2627*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "-internal-isystem"
2628*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2629*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "-internal-isystem"
2630*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/nan2008"
2631*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "-internal-isystem"
2632*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2633*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "-internal-externc-isystem"
2634*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "[[TC]]/include"
2635*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "-internal-externc-isystem"
2636*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2637*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "{{.*}}ld{{(.exe)?}}"
2638*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008"
2639*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
2640*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2641*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2642*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtbegin.o"
2643*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "-L[[TC]]/mips64r2/64/el/nan2008"
2644*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/nan2008"
2645*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib"
2646*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtend.o"
2647*67e74705SXin Li // CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2648*67e74705SXin Li //
2649*67e74705SXin Li // = Little-endian, mips64r2, ABI 64, fp64, nan2008
2650*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2651*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mips64r2 -mabi=64 -mfp64 -mnan=2008 \
2652*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2653*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-64R2-64 %s
2654*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "-internal-isystem"
2655*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2656*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "-internal-isystem"
2657*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/nan2008"
2658*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "-internal-isystem"
2659*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2660*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "-internal-externc-isystem"
2661*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "[[TC]]/include"
2662*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "-internal-externc-isystem"
2663*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2664*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "{{.*}}ld{{(.exe)?}}"
2665*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008"
2666*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
2667*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2668*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2669*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtbegin.o"
2670*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "-L[[TC]]/mips64r2/64/el/nan2008"
2671*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/nan2008"
2672*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib"
2673*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtend.o"
2674*67e74705SXin Li // CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2675*67e74705SXin Li //
2676*67e74705SXin Li // = Little-endian, default (mips64r2), ABI 64, fp64, nan2008
2677*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2678*67e74705SXin Li // RUN:     --target=mips64el-mti-linux-gnu -mabi=64 -mfp64 -mnan=2008 \
2679*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2680*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-EL-NAN64-64R2-64-DEF %s
2681*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "-internal-isystem"
2682*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2683*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "-internal-isystem"
2684*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/nan2008"
2685*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "-internal-isystem"
2686*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2687*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "-internal-externc-isystem"
2688*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/include"
2689*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "-internal-externc-isystem"
2690*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/usr/include"
2691*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "{{.*}}ld{{(.exe)?}}"
2692*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008"
2693*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
2694*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2695*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2696*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtbegin.o"
2697*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "-L[[TC]]/mips64r2/64/el/nan2008"
2698*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/nan2008"
2699*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib"
2700*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtend.o"
2701*67e74705SXin Li // CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2702*67e74705SXin Li //
2703*67e74705SXin Li // Check that mips32r3 and mips32r5 are equal to mips32r2
2704*67e74705SXin Li //
2705*67e74705SXin Li // = Big-endian, mips32r3, hard float
2706*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2707*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32r3 -mhard-float \
2708*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2709*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-32R3 %s
2710*67e74705SXin Li // CHECK-BE-HF-32R3: "-internal-isystem"
2711*67e74705SXin Li // CHECK-BE-HF-32R3: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2712*67e74705SXin Li // CHECK-BE-HF-32R3: "-internal-isystem"
2713*67e74705SXin Li // CHECK-BE-HF-32R3: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu"
2714*67e74705SXin Li // CHECK-BE-HF-32R3: "-internal-isystem"
2715*67e74705SXin Li // CHECK-BE-HF-32R3: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2716*67e74705SXin Li // CHECK-BE-HF-32R3: "-internal-externc-isystem"
2717*67e74705SXin Li // CHECK-BE-HF-32R3: "[[TC]]/include"
2718*67e74705SXin Li // CHECK-BE-HF-32R3: "-internal-externc-isystem"
2719*67e74705SXin Li // CHECK-BE-HF-32R3: "[[TC]]/../../../../sysroot/usr/include"
2720*67e74705SXin Li // CHECK-BE-HF-32R3: "{{.*}}ld{{(.exe)?}}"
2721*67e74705SXin Li // CHECK-BE-HF-32R3: "--sysroot=[[TC]]/../../../../sysroot"
2722*67e74705SXin Li // CHECK-BE-HF-32R3: "-dynamic-linker" "/lib/ld.so.1"
2723*67e74705SXin Li // CHECK-BE-HF-32R3: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crt1.o"
2724*67e74705SXin Li // CHECK-BE-HF-32R3: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crti.o"
2725*67e74705SXin Li // CHECK-BE-HF-32R3: "[[TC]]{{/|\\\\}}crtbegin.o"
2726*67e74705SXin Li // CHECK-BE-HF-32R3: "-L[[TC]]"
2727*67e74705SXin Li // CHECK-BE-HF-32R3: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib"
2728*67e74705SXin Li // CHECK-BE-HF-32R3: "-L[[TC]]/../../../../sysroot/usr/lib/../lib"
2729*67e74705SXin Li // CHECK-BE-HF-32R3: "[[TC]]{{/|\\\\}}crtend.o"
2730*67e74705SXin Li // CHECK-BE-HF-32R3: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crtn.o"
2731*67e74705SXin Li //
2732*67e74705SXin Li // = Big-endian, mips32r5, hard float
2733*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2734*67e74705SXin Li // RUN:     --target=mips-mti-linux-gnu -mips32r5 -mhard-float \
2735*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2736*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-32R5 %s
2737*67e74705SXin Li // CHECK-BE-HF-32R5: "-internal-isystem"
2738*67e74705SXin Li // CHECK-BE-HF-32R5: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2739*67e74705SXin Li // CHECK-BE-HF-32R5: "-internal-isystem"
2740*67e74705SXin Li // CHECK-BE-HF-32R5: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu"
2741*67e74705SXin Li // CHECK-BE-HF-32R5: "-internal-isystem"
2742*67e74705SXin Li // CHECK-BE-HF-32R5: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2743*67e74705SXin Li // CHECK-BE-HF-32R5: "-internal-externc-isystem"
2744*67e74705SXin Li // CHECK-BE-HF-32R5: "[[TC]]/include"
2745*67e74705SXin Li // CHECK-BE-HF-32R5: "-internal-externc-isystem"
2746*67e74705SXin Li // CHECK-BE-HF-32R5: "[[TC]]/../../../../sysroot/usr/include"
2747*67e74705SXin Li // CHECK-BE-HF-32R5: "{{.*}}ld{{(.exe)?}}"
2748*67e74705SXin Li // CHECK-BE-HF-32R5: "--sysroot=[[TC]]/../../../../sysroot"
2749*67e74705SXin Li // CHECK-BE-HF-32R5: "-dynamic-linker" "/lib/ld.so.1"
2750*67e74705SXin Li // CHECK-BE-HF-32R5: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crt1.o"
2751*67e74705SXin Li // CHECK-BE-HF-32R5: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crti.o"
2752*67e74705SXin Li // CHECK-BE-HF-32R5: "[[TC]]{{/|\\\\}}crtbegin.o"
2753*67e74705SXin Li // CHECK-BE-HF-32R5: "-L[[TC]]"
2754*67e74705SXin Li // CHECK-BE-HF-32R5: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib"
2755*67e74705SXin Li // CHECK-BE-HF-32R5: "-L[[TC]]/../../../../sysroot/usr/lib/../lib"
2756*67e74705SXin Li // CHECK-BE-HF-32R5: "[[TC]]{{/|\\\\}}crtend.o"
2757*67e74705SXin Li // CHECK-BE-HF-32R5: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crtn.o"
2758*67e74705SXin Li //
2759*67e74705SXin Li // = Big-endian, mips64r3, ABI 64, hard float
2760*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2761*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64r3 -mabi=64 -mhard-float \
2762*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2763*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64R3-64 %s
2764*67e74705SXin Li // CHECK-BE-HF-64R3-64: "-internal-isystem"
2765*67e74705SXin Li // CHECK-BE-HF-64R3-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2766*67e74705SXin Li // CHECK-BE-HF-64R3-64: "-internal-isystem"
2767*67e74705SXin Li // CHECK-BE-HF-64R3-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64"
2768*67e74705SXin Li // CHECK-BE-HF-64R3-64: "-internal-isystem"
2769*67e74705SXin Li // CHECK-BE-HF-64R3-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2770*67e74705SXin Li // CHECK-BE-HF-64R3-64: "-internal-externc-isystem"
2771*67e74705SXin Li // CHECK-BE-HF-64R3-64: "[[TC]]/include"
2772*67e74705SXin Li // CHECK-BE-HF-64R3-64: "-internal-externc-isystem"
2773*67e74705SXin Li // CHECK-BE-HF-64R3-64: "[[TC]]/../../../../sysroot/usr/include"
2774*67e74705SXin Li // CHECK-BE-HF-64R3-64: "{{.*}}ld{{(.exe)?}}"
2775*67e74705SXin Li // CHECK-BE-HF-64R3-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64"
2776*67e74705SXin Li // CHECK-BE-HF-64R3-64: "-dynamic-linker" "/lib64/ld.so.1"
2777*67e74705SXin Li // CHECK-BE-HF-64R3-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crt1.o"
2778*67e74705SXin Li // CHECK-BE-HF-64R3-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crti.o"
2779*67e74705SXin Li // CHECK-BE-HF-64R3-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtbegin.o"
2780*67e74705SXin Li // CHECK-BE-HF-64R3-64: "-L[[TC]]/mips64r2/64"
2781*67e74705SXin Li // CHECK-BE-HF-64R3-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64"
2782*67e74705SXin Li // CHECK-BE-HF-64R3-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/usr/lib"
2783*67e74705SXin Li // CHECK-BE-HF-64R3-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtend.o"
2784*67e74705SXin Li // CHECK-BE-HF-64R3-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crtn.o"
2785*67e74705SXin Li //
2786*67e74705SXin Li // = Big-endian, mips64r5, ABI 64, hard float
2787*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2788*67e74705SXin Li // RUN:     --target=mips64-mti-linux-gnu -mips64r5 -mabi=64 -mhard-float \
2789*67e74705SXin Li // RUN:     -stdlib=libstdc++ --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2790*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64R5-64 %s
2791*67e74705SXin Li // CHECK-BE-HF-64R5-64: "-internal-isystem"
2792*67e74705SXin Li // CHECK-BE-HF-64R5-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2793*67e74705SXin Li // CHECK-BE-HF-64R5-64: "-internal-isystem"
2794*67e74705SXin Li // CHECK-BE-HF-64R5-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64"
2795*67e74705SXin Li // CHECK-BE-HF-64R5-64: "-internal-isystem"
2796*67e74705SXin Li // CHECK-BE-HF-64R5-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2797*67e74705SXin Li // CHECK-BE-HF-64R5-64: "-internal-externc-isystem"
2798*67e74705SXin Li // CHECK-BE-HF-64R5-64: "[[TC]]/include"
2799*67e74705SXin Li // CHECK-BE-HF-64R5-64: "-internal-externc-isystem"
2800*67e74705SXin Li // CHECK-BE-HF-64R5-64: "[[TC]]/../../../../sysroot/usr/include"
2801*67e74705SXin Li // CHECK-BE-HF-64R5-64: "{{.*}}ld{{(.exe)?}}"
2802*67e74705SXin Li // CHECK-BE-HF-64R5-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64"
2803*67e74705SXin Li // CHECK-BE-HF-64R5-64: "-dynamic-linker" "/lib64/ld.so.1"
2804*67e74705SXin Li // CHECK-BE-HF-64R5-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crt1.o"
2805*67e74705SXin Li // CHECK-BE-HF-64R5-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crti.o"
2806*67e74705SXin Li // CHECK-BE-HF-64R5-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtbegin.o"
2807*67e74705SXin Li // CHECK-BE-HF-64R5-64: "-L[[TC]]/mips64r2/64"
2808*67e74705SXin Li // CHECK-BE-HF-64R5-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64"
2809*67e74705SXin Li // CHECK-BE-HF-64R5-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/usr/lib"
2810*67e74705SXin Li // CHECK-BE-HF-64R5-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtend.o"
2811*67e74705SXin Li // CHECK-BE-HF-64R5-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crtn.o"
2812