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