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