blob: cb15edd55497eb0907c5692ee8e488e05e50b5b4 [file] [log] [blame]
Simon Atanasyan8e8e95c2013-04-20 08:15:03 +00001// REQUIRES: mips-registered-target
2//
3// Check frontend invocations on Mentor Graphics MIPS toolchain.
4//
5// = Big-endian, hard float
6// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
7// RUN: -target mips-linux-gnu \
8// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
9// RUN: | FileCheck --check-prefix=CHECK-BE-HF-32 %s
10// CHECK-BE-HF-32: "-internal-isystem"
11// CHECK-BE-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
12// CHECK-BE-HF-32: "-internal-isystem"
13// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu"
14// CHECK-BE-HF-32: "-internal-isystem"
15// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
16// CHECK-BE-HF-32: "-internal-externc-isystem"
17// CHECK-BE-HF-32: "[[TC]]/include"
18// CHECK-BE-HF-32: "-internal-externc-isystem"
19// CHECK-BE-HF-32: "[[TC]]/include-fixed"
20// CHECK-BE-HF-32: "-internal-externc-isystem"
21// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
22//
23// = Big-endian, hard float, mips16
24// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
25// RUN: -target mips-linux-gnu -mips16 \
26// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
27// RUN: | FileCheck --check-prefix=CHECK-BE-HF-16 %s
28// CHECK-BE-HF-16: "-internal-isystem"
29// CHECK-BE-HF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
30// CHECK-BE-HF-16: "-internal-isystem"
31// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16"
32// CHECK-BE-HF-16: "-internal-isystem"
33// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
34// CHECK-BE-HF-16: "-internal-externc-isystem"
35// CHECK-BE-HF-16: "[[TC]]/include"
36// CHECK-BE-HF-16: "-internal-externc-isystem"
37// CHECK-BE-HF-16: "[[TC]]/include-fixed/mips16"
38// CHECK-BE-HF-16: "-internal-externc-isystem"
39// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
40//
41// = Big-endian, hard float, micromips
42// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
43// RUN: -target mips-linux-gnu -mmicromips \
44// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
45// RUN: | FileCheck --check-prefix=CHECK-BE-HF-MICRO %s
46// CHECK-BE-HF-MICRO: "-internal-isystem"
47// CHECK-BE-HF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
48// CHECK-BE-HF-MICRO: "-internal-isystem"
49// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips"
50// CHECK-BE-HF-MICRO: "-internal-isystem"
51// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
52// CHECK-BE-HF-MICRO: "-internal-externc-isystem"
53// CHECK-BE-HF-MICRO: "[[TC]]/include"
54// CHECK-BE-HF-MICRO: "-internal-externc-isystem"
55// CHECK-BE-HF-MICRO: "[[TC]]/include-fixed/micromips"
56// CHECK-BE-HF-MICRO: "-internal-externc-isystem"
57// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
58//
59// = Big-endian, soft float
60// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
61// RUN: -target mips-linux-gnu -msoft-float \
62// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
63// RUN: | FileCheck --check-prefix=CHECK-BE-SF-32 %s
64// CHECK-BE-SF-32: "-internal-isystem"
65// CHECK-BE-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
66// CHECK-BE-SF-32: "-internal-isystem"
67// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float"
68// CHECK-BE-SF-32: "-internal-isystem"
69// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
70// CHECK-BE-SF-32: "-internal-externc-isystem"
71// CHECK-BE-SF-32: "[[TC]]/include"
72// CHECK-BE-SF-32: "-internal-externc-isystem"
73// CHECK-BE-SF-32: "[[TC]]/include-fixed/soft-float"
74// CHECK-BE-SF-32: "-internal-externc-isystem"
75// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
76//
77// = Big-endian, soft float, mips16
78// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
79// RUN: -target mips-linux-gnu -msoft-float -mips16 \
80// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
81// RUN: | FileCheck --check-prefix=CHECK-BE-SF-16 %s
82// CHECK-BE-SF-16: "-internal-isystem"
83// CHECK-BE-SF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
84// CHECK-BE-SF-16: "-internal-isystem"
85// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/soft-float"
86// CHECK-BE-SF-16: "-internal-isystem"
87// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
88// CHECK-BE-SF-16: "-internal-externc-isystem"
89// CHECK-BE-SF-16: "[[TC]]/include"
90// CHECK-BE-SF-16: "-internal-externc-isystem"
91// CHECK-BE-SF-16: "[[TC]]/include-fixed/mips16/soft-float"
92// CHECK-BE-SF-16: "-internal-externc-isystem"
93// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
94//
95// = Big-endian, soft float, micromips
96// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
97// RUN: -target mips-linux-gnu -msoft-float -mmicromips \
98// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
99// RUN: | FileCheck --check-prefix=CHECK-BE-SF-MICRO %s
100// CHECK-BE-SF-MICRO: "-internal-isystem"
101// CHECK-BE-SF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
102// CHECK-BE-SF-MICRO: "-internal-isystem"
103// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/soft-float"
104// CHECK-BE-SF-MICRO: "-internal-isystem"
105// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
106// CHECK-BE-SF-MICRO: "-internal-externc-isystem"
107// CHECK-BE-SF-MICRO: "[[TC]]/include"
108// CHECK-BE-SF-MICRO: "-internal-externc-isystem"
109// CHECK-BE-SF-MICRO: "[[TC]]/include-fixed/micromips/soft-float"
110// CHECK-BE-SF-MICRO: "-internal-externc-isystem"
111// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
112//
113// = Big-endian, hard float, 64-bit
114// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
115// RUN: -target mips64-linux-gnu \
116// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
117// RUN: | FileCheck --check-prefix=CHECK-BE-HF-64 %s
118// CHECK-BE-HF-64: "-internal-isystem"
119// CHECK-BE-HF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
120// CHECK-BE-HF-64: "-internal-isystem"
121// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/64"
122// CHECK-BE-HF-64: "-internal-isystem"
123// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
124// CHECK-BE-HF-64: "-internal-externc-isystem"
125// CHECK-BE-HF-64: "[[TC]]/include"
126// CHECK-BE-HF-64: "-internal-externc-isystem"
127// CHECK-BE-HF-64: "[[TC]]/include-fixed/64"
128// CHECK-BE-HF-64: "-internal-externc-isystem"
129// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
130//
131// = Big-endian, soft float, 64-bit
132// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
133// RUN: -target mips64-linux-gnu -msoft-float \
134// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
135// RUN: | FileCheck --check-prefix=CHECK-BE-SF-64 %s
136// CHECK-BE-SF-64: "-internal-isystem"
137// CHECK-BE-SF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
138// CHECK-BE-SF-64: "-internal-isystem"
139// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/64"
140// CHECK-BE-SF-64: "-internal-isystem"
141// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
142// CHECK-BE-SF-64: "-internal-externc-isystem"
143// CHECK-BE-SF-64: "[[TC]]/include"
144// CHECK-BE-SF-64: "-internal-externc-isystem"
145// CHECK-BE-SF-64: "[[TC]]/include-fixed/soft-float/64"
146// CHECK-BE-SF-64: "-internal-externc-isystem"
147// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
148//
149// = Little-endian, hard float
150// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
151// RUN: -target mipsel-linux-gnu -mhard-float \
152// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
153// RUN: | FileCheck --check-prefix=CHECK-EL-HF-32 %s
154// CHECK-EL-HF-32: "-internal-isystem"
155// CHECK-EL-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
156// CHECK-EL-HF-32: "-internal-isystem"
157// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/el"
158// CHECK-EL-HF-32: "-internal-isystem"
159// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
160// CHECK-EL-HF-32: "-internal-externc-isystem"
161// CHECK-EL-HF-32: "[[TC]]/include"
162// CHECK-EL-HF-32: "-internal-externc-isystem"
163// CHECK-EL-HF-32: "[[TC]]/include-fixed/el"
164// CHECK-EL-HF-32: "-internal-externc-isystem"
165// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
166//
167// = Little-endian, hard float, mips16
168// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
169// RUN: -target mipsel-linux-gnu -mips16 \
170// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
171// RUN: | FileCheck --check-prefix=CHECK-EL-HF-16 %s
172// CHECK-EL-HF-16: "-internal-isystem"
173// CHECK-EL-HF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
174// CHECK-EL-HF-16: "-internal-isystem"
175// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/el"
176// CHECK-EL-HF-16: "-internal-isystem"
177// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
178// CHECK-EL-HF-16: "-internal-externc-isystem"
179// CHECK-EL-HF-16: "[[TC]]/include"
180// CHECK-EL-HF-16: "-internal-externc-isystem"
181// CHECK-EL-HF-16: "[[TC]]/include-fixed/mips16/el"
182// CHECK-EL-HF-16: "-internal-externc-isystem"
183// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
184//
185// = Little-endian, hard float, micromips
186// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
187// RUN: -target mipsel-linux-gnu -mmicromips \
188// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
189// RUN: | FileCheck --check-prefix=CHECK-EL-HF-MICRO %s
190// CHECK-EL-HF-MICRO: "-internal-isystem"
191// CHECK-EL-HF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
192// CHECK-EL-HF-MICRO: "-internal-isystem"
193// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/el"
194// CHECK-EL-HF-MICRO: "-internal-isystem"
195// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
196// CHECK-EL-HF-MICRO: "-internal-externc-isystem"
197// CHECK-EL-HF-MICRO: "[[TC]]/include"
198// CHECK-EL-HF-MICRO: "-internal-externc-isystem"
199// CHECK-EL-HF-MICRO: "[[TC]]/include-fixed/micromips/el"
200// CHECK-EL-HF-MICRO: "-internal-externc-isystem"
201// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
202//
203// = Little-endian, soft float
204// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
205// RUN: -target mipsel-linux-gnu -mfloat-abi=soft \
206// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
207// RUN: | FileCheck --check-prefix=CHECK-EL-SF-32 %s
208// CHECK-EL-SF-32: "-internal-isystem"
209// CHECK-EL-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
210// CHECK-EL-SF-32: "-internal-isystem"
211// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/el"
212// CHECK-EL-SF-32: "-internal-isystem"
213// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
214// CHECK-EL-SF-32: "-internal-externc-isystem"
215// CHECK-EL-SF-32: "[[TC]]/include"
216// CHECK-EL-SF-32: "-internal-externc-isystem"
217// CHECK-EL-SF-32: "[[TC]]/include-fixed/soft-float/el"
218// CHECK-EL-SF-32: "-internal-externc-isystem"
219// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
220//
221// = Little-endian, soft float, mips16
222// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
223// RUN: -target mipsel-linux-gnu -mips16 -msoft-float \
224// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
225// RUN: | FileCheck --check-prefix=CHECK-EL-SF-16 %s
226// CHECK-EL-SF-16: "-internal-isystem"
227// CHECK-EL-SF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
228// CHECK-EL-SF-16: "-internal-isystem"
229// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/soft-float/el"
230// CHECK-EL-SF-16: "-internal-isystem"
231// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
232// CHECK-EL-SF-16: "-internal-externc-isystem"
233// CHECK-EL-SF-16: "[[TC]]/include"
234// CHECK-EL-SF-16: "-internal-externc-isystem"
235// CHECK-EL-SF-16: "[[TC]]/include-fixed/mips16/soft-float/el"
236// CHECK-EL-SF-16: "-internal-externc-isystem"
237// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
238//
239// = Little-endian, soft float, micromips
240// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
241// RUN: -target mipsel-linux-gnu -mmicromips -msoft-float \
242// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
243// RUN: | FileCheck --check-prefix=CHECK-EL-SF-MICRO %s
244// CHECK-EL-SF-MICRO: "-internal-isystem"
245// CHECK-EL-SF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
246// CHECK-EL-SF-MICRO: "-internal-isystem"
247// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/soft-float/el"
248// CHECK-EL-SF-MICRO: "-internal-isystem"
249// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
250// CHECK-EL-SF-MICRO: "-internal-externc-isystem"
251// CHECK-EL-SF-MICRO: "[[TC]]/include"
252// CHECK-EL-SF-MICRO: "-internal-externc-isystem"
253// CHECK-EL-SF-MICRO: "[[TC]]/include-fixed/micromips/soft-float/el"
254// CHECK-EL-SF-MICRO: "-internal-externc-isystem"
255// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
256//
257// = Little-endian, hard float, 64-bit
258// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
259// RUN: -target mips64el-linux-gnu \
260// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
261// RUN: | FileCheck --check-prefix=CHECK-EL-HF-64 %s
262// CHECK-EL-HF-64: "-internal-isystem"
263// CHECK-EL-HF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
264// CHECK-EL-HF-64: "-internal-isystem"
265// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/el/64"
266// CHECK-EL-HF-64: "-internal-isystem"
267// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
268// CHECK-EL-HF-64: "-internal-externc-isystem"
269// CHECK-EL-HF-64: "[[TC]]/include"
270// CHECK-EL-HF-64: "-internal-externc-isystem"
271// CHECK-EL-HF-64: "[[TC]]/include-fixed/el/64"
272// CHECK-EL-HF-64: "-internal-externc-isystem"
273// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
274//
275// = Little-endian, soft float, 64-bit
276// RUN: %clang -no-canonical-prefixes %s -### -c -o %t.o 2>&1 \
277// RUN: -target mips64el-linux-gnu -msoft-float \
278// RUN: -gcc-toolchain %S/Inputs/mips_cs_tree \
279// RUN: | FileCheck --check-prefix=CHECK-EL-SF-64 %s
280// CHECK-EL-SF-64: "-internal-isystem"
281// CHECK-EL-SF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
282// CHECK-EL-SF-64: "-internal-isystem"
283// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/el/64"
284// CHECK-EL-SF-64: "-internal-isystem"
285// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
286// CHECK-EL-SF-64: "-internal-externc-isystem"
287// CHECK-EL-SF-64: "[[TC]]/include"
288// CHECK-EL-SF-64: "-internal-externc-isystem"
289// CHECK-EL-SF-64: "[[TC]]/include-fixed/soft-float/el/64"
290// CHECK-EL-SF-64: "-internal-externc-isystem"
291// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"