blob: 275d61540b47d90dd8b9067478a7c97a1542d245 [file] [log] [blame]
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +00001// Check frontend and linker invocations on Mentor Graphics MIPS toolchain.
2//
3// = Big-endian, hard float
4// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
5// RUN: --target=mips-linux-gnu \
6// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
7// RUN: | FileCheck --check-prefix=CHECK-BE-HF-32 %s
8// CHECK-BE-HF-32: "-internal-isystem"
9// CHECK-BE-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
10// CHECK-BE-HF-32: "-internal-isystem"
11// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu"
12// CHECK-BE-HF-32: "-internal-isystem"
13// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
14// CHECK-BE-HF-32: "-internal-externc-isystem"
15// CHECK-BE-HF-32: "[[TC]]/include"
16// CHECK-BE-HF-32: "-internal-externc-isystem"
17// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
18// CHECK-BE-HF-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000019// CHECK-BE-HF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +000020// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crt1.o"
21// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crti.o"
22// CHECK-BE-HF-32: "[[TC]]{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000023// CHECK-BE-HF-32: "-L[[TC]]"
24// CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib"
25// CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/lib"
26// CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/usr/lib"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +000027// CHECK-BE-HF-32: "[[TC]]{{/|\\\\}}crtend.o"
28// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crtn.o"
29//
30// = Big-endian, hard float, mips16
31// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
32// RUN: --target=mips-linux-gnu -mips16 \
33// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
34// RUN: | FileCheck --check-prefix=CHECK-BE-HF-16 %s
35// CHECK-BE-HF-16: "-internal-isystem"
36// CHECK-BE-HF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
37// CHECK-BE-HF-16: "-internal-isystem"
38// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16"
39// CHECK-BE-HF-16: "-internal-isystem"
40// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
41// CHECK-BE-HF-16: "-internal-externc-isystem"
42// CHECK-BE-HF-16: "[[TC]]/include"
43// CHECK-BE-HF-16: "-internal-externc-isystem"
44// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
45// CHECK-BE-HF-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000046// CHECK-BE-HF-16: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/mips16"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +000047// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
48// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
49// CHECK-BE-HF-16: "[[TC]]/mips16{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000050// CHECK-BE-HF-16: "-L[[TC]]/mips16"
51// CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16"
52// CHECK-BE-HF-16-NOT: "-L[[TC]]"
53// CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/lib/../lib"
54// CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +000055// CHECK-BE-HF-16: "[[TC]]/mips16{{/|\\\\}}crtend.o"
56// CHECK-BE-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
57//
58// = Big-endian, hard float, mmicromips
59// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
60// RUN: --target=mips-linux-gnu -mmicromips \
61// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
62// RUN: | FileCheck --check-prefix=CHECK-BE-HF-MICRO %s
63// CHECK-BE-HF-MICRO: "-internal-isystem"
64// CHECK-BE-HF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
65// CHECK-BE-HF-MICRO: "-internal-isystem"
66// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips"
67// CHECK-BE-HF-MICRO: "-internal-isystem"
68// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
69// CHECK-BE-HF-MICRO: "-internal-externc-isystem"
70// CHECK-BE-HF-MICRO: "[[TC]]/include"
71// CHECK-BE-HF-MICRO: "-internal-externc-isystem"
72// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
73// CHECK-BE-HF-MICRO: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000074// CHECK-BE-HF-MICRO: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/micromips"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +000075// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib{{/|\\\\}}crt1.o"
76// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib{{/|\\\\}}crti.o"
77// CHECK-BE-HF-MICRO: "[[TC]]/micromips{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000078// CHECK-BE-HF-MICRO: "-L[[TC]]/micromips"
79// CHECK-BE-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips"
80// CHECK-BE-HF-MICRO-NOT: "-L[[TC]]"
81// CHECK-BE-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/lib/../lib"
82// CHECK-BE-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +000083// CHECK-BE-HF-MICRO: "[[TC]]/micromips{{/|\\\\}}crtend.o"
84// CHECK-BE-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib{{/|\\\\}}crtn.o"
85//
Simon Atanasyan3e0f3882013-11-26 11:57:48 +000086// = Big-endian, hard float, nan2008
87// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
88// RUN: --target=mips-linux-gnu -mnan=2008 \
89// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
90// RUN: | FileCheck --check-prefix=CHECK-BE-HF-NAN %s
91// CHECK-BE-HF-NAN: "-internal-isystem"
92// CHECK-BE-HF-NAN: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
93// CHECK-BE-HF-NAN: "-internal-isystem"
94// CHECK-BE-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/nan2008"
95// CHECK-BE-HF-NAN: "-internal-isystem"
96// CHECK-BE-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
97// CHECK-BE-HF-NAN: "-internal-externc-isystem"
98// CHECK-BE-HF-NAN: "[[TC]]/include"
99// CHECK-BE-HF-NAN: "-internal-externc-isystem"
100// CHECK-BE-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
101// CHECK-BE-HF-NAN: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000102// CHECK-BE-HF-NAN: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/nan2008"
Simon Atanasyan3e0f3882013-11-26 11:57:48 +0000103// CHECK-BE-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
104// CHECK-BE-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
105// CHECK-BE-HF-NAN: "[[TC]]/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000106// CHECK-BE-HF-NAN: "-L[[TC]]/nan2008"
107// CHECK-BE-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/nan2008"
108// CHECK-BE-HF-NAN-NOT: "-L[[TC]]"
109// CHECK-BE-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/nan2008/lib/../lib"
110// CHECK-BE-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/nan2008/usr/lib/../lib"
Simon Atanasyan3e0f3882013-11-26 11:57:48 +0000111// CHECK-BE-HF-NAN: "[[TC]]/nan2008{{/|\\\\}}crtend.o"
112// CHECK-BE-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
113//
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000114// = Big-endian, soft float
115// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
116// RUN: --target=mips-linux-gnu -msoft-float \
117// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
118// RUN: | FileCheck --check-prefix=CHECK-BE-SF-32 %s
119// CHECK-BE-SF-32: "-internal-isystem"
120// CHECK-BE-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
121// CHECK-BE-SF-32: "-internal-isystem"
122// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float"
123// CHECK-BE-SF-32: "-internal-isystem"
124// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
125// CHECK-BE-SF-32: "-internal-externc-isystem"
126// CHECK-BE-SF-32: "[[TC]]/include"
127// CHECK-BE-SF-32: "-internal-externc-isystem"
128// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
129// CHECK-BE-SF-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000130// CHECK-BE-SF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/soft-float"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000131// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o"
132// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crti.o"
133// CHECK-BE-SF-32: "[[TC]]/soft-float{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000134// CHECK-BE-SF-32: "-L[[TC]]/soft-float"
135// CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/soft-float"
136// CHECK-BE-SF-32-NOT: "-L[[TC]]"
137// CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/lib/../lib"
138// CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000139// CHECK-BE-SF-32: "[[TC]]/soft-float{{/|\\\\}}crtend.o"
140// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o"
141//
142// = Big-endian, soft float, mips16
143// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
144// RUN: --target=mips-linux-gnu -msoft-float -mips16 \
145// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
146// RUN: | FileCheck --check-prefix=CHECK-BE-SF-16 %s
147// CHECK-BE-SF-16: "-internal-isystem"
148// CHECK-BE-SF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
149// CHECK-BE-SF-16: "-internal-isystem"
150// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/soft-float"
151// CHECK-BE-SF-16: "-internal-isystem"
152// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
153// CHECK-BE-SF-16: "-internal-externc-isystem"
154// CHECK-BE-SF-16: "[[TC]]/include"
155// CHECK-BE-SF-16: "-internal-externc-isystem"
156// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
157// CHECK-BE-SF-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000158// CHECK-BE-SF-16: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000159// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o"
160// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib{{/|\\\\}}crti.o"
161// CHECK-BE-SF-16: "[[TC]]/mips16/soft-float{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000162// CHECK-BE-SF-16: "-L[[TC]]/mips16/soft-float"
163// CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16/soft-float"
164// CHECK-BE-SF-16-NOT: "-L[[TC]]"
165// CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/lib/../lib"
166// CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000167// CHECK-BE-SF-16: "[[TC]]/mips16/soft-float{{/|\\\\}}crtend.o"
168// CHECK-BE-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o"
169//
170// = Big-endian, soft float, micromips
171// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
172// RUN: --target=mips-linux-gnu -msoft-float -mmicromips \
173// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
174// RUN: | FileCheck --check-prefix=CHECK-BE-SF-MICRO %s
175// CHECK-BE-SF-MICRO: "-internal-isystem"
176// CHECK-BE-SF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
177// CHECK-BE-SF-MICRO: "-internal-isystem"
178// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/soft-float"
179// CHECK-BE-SF-MICRO: "-internal-isystem"
180// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
181// CHECK-BE-SF-MICRO: "-internal-externc-isystem"
182// CHECK-BE-SF-MICRO: "[[TC]]/include"
183// CHECK-BE-SF-MICRO: "-internal-externc-isystem"
184// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
185// CHECK-BE-SF-MICRO: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000186// CHECK-BE-SF-MICRO: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000187// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o"
188// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib{{/|\\\\}}crti.o"
189// CHECK-BE-SF-MICRO: "[[TC]]/micromips/soft-float{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000190// CHECK-BE-SF-MICRO: "-L[[TC]]/micromips/soft-float"
191// CHECK-BE-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips/soft-float"
192// CHECK-BE-SF-MICRO-NOT: "-L[[TC]]"
193// CHECK-BE-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/lib/../lib"
194// CHECK-BE-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000195// CHECK-BE-SF-MICRO: "[[TC]]/micromips/soft-float{{/|\\\\}}crtend.o"
196// CHECK-BE-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o"
197//
198// = Big-endian, hard float, 64-bit
199// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
200// RUN: --target=mips64-linux-gnu \
201// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
202// RUN: | FileCheck --check-prefix=CHECK-BE-HF-64 %s
203// CHECK-BE-HF-64: "-internal-isystem"
204// CHECK-BE-HF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
205// CHECK-BE-HF-64: "-internal-isystem"
206// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/64"
207// CHECK-BE-HF-64: "-internal-isystem"
208// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
209// CHECK-BE-HF-64: "-internal-externc-isystem"
210// CHECK-BE-HF-64: "[[TC]]/include"
211// CHECK-BE-HF-64: "-internal-externc-isystem"
212// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
213// CHECK-BE-HF-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000214// CHECK-BE-HF-64: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000215// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib64{{/|\\\\}}crt1.o"
216// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib64{{/|\\\\}}crti.o"
217// CHECK-BE-HF-64: "[[TC]]/64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000218// CHECK-BE-HF-64: "-L[[TC]]/64"
219// CHECK-BE-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64"
220// CHECK-BE-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/lib/../lib64"
221// CHECK-BE-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib64"
222// CHECK-BE-HF-64-NOT: "-L[[TC]]"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000223// CHECK-BE-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/64{{/|\\\\}}crtend.o"
224// CHECK-BE-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib64{{/|\\\\}}crtn.o"
225//
226// = Big-endian, soft float, 64-bit
227// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
228// RUN: --target=mips64-linux-gnu -msoft-float \
229// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
230// RUN: | FileCheck --check-prefix=CHECK-BE-SF-64 %s
231// CHECK-BE-SF-64: "-internal-isystem"
232// CHECK-BE-SF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
233// CHECK-BE-SF-64: "-internal-isystem"
234// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/64"
235// CHECK-BE-SF-64: "-internal-isystem"
236// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
237// CHECK-BE-SF-64: "-internal-externc-isystem"
238// CHECK-BE-SF-64: "[[TC]]/include"
239// CHECK-BE-SF-64: "-internal-externc-isystem"
240// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
241// CHECK-BE-SF-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000242// CHECK-BE-SF-64: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/soft-float"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000243// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64{{/|\\\\}}crt1.o"
244// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64{{/|\\\\}}crti.o"
245// CHECK-BE-SF-64: "[[TC]]/soft-float/64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000246// CHECK-BE-SF-64: "-L[[TC]]/soft-float/64"
247// CHECK-BE-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64/soft-float"
248// CHECK-BE-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/lib/../lib64"
249// CHECK-BE-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64"
250// CHECK-BE-SF-64-NOT: "-L[[TC]]"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000251// CHECK-BE-SF-64: "[[TC]]/soft-float/64{{/|\\\\}}crtend.o"
252// CHECK-BE-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64{{/|\\\\}}crtn.o"
253//
254// = Little-endian, hard float
255// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
256// RUN: --target=mipsel-linux-gnu -mhard-float \
257// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
258// RUN: | FileCheck --check-prefix=CHECK-EL-HF-32 %s
259// CHECK-EL-HF-32: "-internal-isystem"
260// CHECK-EL-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
261// CHECK-EL-HF-32: "-internal-isystem"
262// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/el"
263// CHECK-EL-HF-32: "-internal-isystem"
264// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
265// CHECK-EL-HF-32: "-internal-externc-isystem"
266// CHECK-EL-HF-32: "[[TC]]/include"
267// CHECK-EL-HF-32: "-internal-externc-isystem"
268// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
269// CHECK-EL-HF-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000270// CHECK-EL-HF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/el"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000271// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crt1.o"
272// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crti.o"
273// CHECK-EL-HF-32: "[[TC]]/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000274// CHECK-EL-HF-32: "-L[[TC]]/el"
275// CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/el"
276// CHECK-EL-HF-32-NOT: "-L[[TC]]"
277// CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/lib/../lib"
278// CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000279// CHECK-EL-HF-32: "[[TC]]/el{{/|\\\\}}crtend.o"
280// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crtn.o"
281//
282// = Little-endian, hard float, mips16
283// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
284// RUN: --target=mipsel-linux-gnu -mips16 \
285// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
286// RUN: | FileCheck --check-prefix=CHECK-EL-HF-16 %s
287// CHECK-EL-HF-16: "-internal-isystem"
288// CHECK-EL-HF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
289// CHECK-EL-HF-16: "-internal-isystem"
290// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/el"
291// CHECK-EL-HF-16: "-internal-isystem"
292// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
293// CHECK-EL-HF-16: "-internal-externc-isystem"
294// CHECK-EL-HF-16: "[[TC]]/include"
295// CHECK-EL-HF-16: "-internal-externc-isystem"
296// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
297// CHECK-EL-HF-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000298// CHECK-EL-HF-16: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/mips16/el"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000299// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
300// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
301// CHECK-EL-HF-16: "[[TC]]/mips16/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000302// CHECK-EL-HF-16: "-L[[TC]]/mips16/el"
303// CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16/el"
304// CHECK-EL-HF-16-NOT: "-L[[TC]]"
305// CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/lib/../lib"
306// CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000307// CHECK-EL-HF-16: "[[TC]]/mips16/el{{/|\\\\}}crtend.o"
308// CHECK-EL-HF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
309//
310// = Little-endian, hard float, micromips
311// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
312// RUN: --target=mipsel-linux-gnu -mmicromips \
313// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
314// RUN: | FileCheck --check-prefix=CHECK-EL-HF-MICRO %s
315// CHECK-EL-HF-MICRO: "-internal-isystem"
316// CHECK-EL-HF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
317// CHECK-EL-HF-MICRO: "-internal-isystem"
318// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/el"
319// CHECK-EL-HF-MICRO: "-internal-isystem"
320// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
321// CHECK-EL-HF-MICRO: "-internal-externc-isystem"
322// CHECK-EL-HF-MICRO: "[[TC]]/include"
323// CHECK-EL-HF-MICRO: "-internal-externc-isystem"
324// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
325// CHECK-EL-HF-MICRO: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000326// CHECK-EL-HF-MICRO: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/micromips/el"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000327// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib{{/|\\\\}}crt1.o"
328// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib{{/|\\\\}}crti.o"
329// CHECK-EL-HF-MICRO: "[[TC]]/micromips/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000330// CHECK-EL-HF-MICRO: "-L[[TC]]/micromips/el"
331// CHECK-EL-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips/el"
332// CHECK-EL-HF-MICRO-NOT: "-L[[TC]]"
333// CHECK-EL-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/lib/../lib"
334// CHECK-EL-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000335// CHECK-EL-HF-MICRO: "[[TC]]/micromips/el{{/|\\\\}}crtend.o"
336// CHECK-EL-HF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib{{/|\\\\}}crtn.o"
337//
Simon Atanasyan3e0f3882013-11-26 11:57:48 +0000338// = Little-endian, hard float, nan2008
339// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
340// RUN: --target=mipsel-linux-gnu -mnan=2008 \
341// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
342// RUN: | FileCheck --check-prefix=CHECK-EL-HF-NAN %s
343// CHECK-EL-HF-NAN: "-internal-isystem"
344// CHECK-EL-HF-NAN: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
345// CHECK-EL-HF-NAN: "-internal-isystem"
346// CHECK-EL-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/nan2008/el"
347// CHECK-EL-HF-NAN: "-internal-isystem"
348// CHECK-EL-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
349// CHECK-EL-HF-NAN: "-internal-externc-isystem"
350// CHECK-EL-HF-NAN: "[[TC]]/include"
351// CHECK-EL-HF-NAN: "-internal-externc-isystem"
352// CHECK-EL-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
353// CHECK-EL-HF-NAN: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000354// CHECK-EL-HF-NAN: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/nan2008/el"
Simon Atanasyan3e0f3882013-11-26 11:57:48 +0000355// CHECK-EL-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/el/usr/lib/../lib{{/|\\\\}}crt1.o"
356// CHECK-EL-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/el/usr/lib/../lib{{/|\\\\}}crti.o"
357// CHECK-EL-HF-NAN: "[[TC]]/nan2008/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000358// CHECK-EL-HF-NAN: "-L[[TC]]/nan2008/el"
359// CHECK-EL-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/nan2008/el"
360// CHECK-EL-HF-NAN-NOT: "-L[[TC]]"
361// CHECK-EL-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/nan2008/el/lib/../lib"
362// CHECK-EL-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/nan2008/el/usr/lib/../lib"
Simon Atanasyan3e0f3882013-11-26 11:57:48 +0000363// CHECK-EL-HF-NAN: "[[TC]]/nan2008/el{{/|\\\\}}crtend.o"
364// CHECK-EL-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/el/usr/lib/../lib{{/|\\\\}}crtn.o"
365//
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000366// = Little-endian, soft float
367// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
368// RUN: --target=mipsel-linux-gnu -mfloat-abi=soft \
369// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
370// RUN: | FileCheck --check-prefix=CHECK-EL-SF-32 %s
371// CHECK-EL-SF-32: "-internal-isystem"
372// CHECK-EL-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
373// CHECK-EL-SF-32: "-internal-isystem"
374// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/el"
375// CHECK-EL-SF-32: "-internal-isystem"
376// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
377// CHECK-EL-SF-32: "-internal-externc-isystem"
378// CHECK-EL-SF-32: "[[TC]]/include"
379// CHECK-EL-SF-32: "-internal-externc-isystem"
380// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
381// CHECK-EL-SF-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000382// CHECK-EL-SF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000383// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o"
384// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o"
385// CHECK-EL-SF-32: "[[TC]]/soft-float/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000386// CHECK-EL-SF-32: "-L[[TC]]/soft-float/el"
387// CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/soft-float/el"
388// CHECK-EL-SF-32-NOT: "-L[[TC]]"
389// CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/lib/../lib"
390// CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000391// CHECK-EL-SF-32: "[[TC]]/soft-float/el{{/|\\\\}}crtend.o"
392// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o"
393//
394// = Little-endian, soft float, mips16
395// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
396// RUN: --target=mipsel-linux-gnu -mips16 -msoft-float \
397// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
398// RUN: | FileCheck --check-prefix=CHECK-EL-SF-16 %s
399// CHECK-EL-SF-16: "-internal-isystem"
400// CHECK-EL-SF-16: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
401// CHECK-EL-SF-16: "-internal-isystem"
402// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/mips16/soft-float/el"
403// CHECK-EL-SF-16: "-internal-isystem"
404// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
405// CHECK-EL-SF-16: "-internal-externc-isystem"
406// CHECK-EL-SF-16: "[[TC]]/include"
407// CHECK-EL-SF-16: "-internal-externc-isystem"
408// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
409// CHECK-EL-SF-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000410// CHECK-EL-SF-16: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000411// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o"
412// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o"
413// CHECK-EL-SF-16: "[[TC]]/mips16/soft-float/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000414// CHECK-EL-SF-16: "-L[[TC]]/mips16/soft-float/el"
415// CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16/soft-float/el"
416// CHECK-EL-SF-16-NOT: "-L[[TC]]"
417// CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/lib/../lib"
418// CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000419// CHECK-EL-SF-16: "[[TC]]/mips16/soft-float/el{{/|\\\\}}crtend.o"
420// CHECK-EL-SF-16: "[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o"
421//
422// = Little-endian, soft float, micromips
423// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
424// RUN: --target=mipsel-linux-gnu -mmicromips -msoft-float \
425// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
426// RUN: | FileCheck --check-prefix=CHECK-EL-SF-MICRO %s
427// CHECK-EL-SF-MICRO: "-internal-isystem"
428// CHECK-EL-SF-MICRO: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
429// CHECK-EL-SF-MICRO: "-internal-isystem"
430// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/micromips/soft-float/el"
431// CHECK-EL-SF-MICRO: "-internal-isystem"
432// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
433// CHECK-EL-SF-MICRO: "-internal-externc-isystem"
434// CHECK-EL-SF-MICRO: "[[TC]]/include"
435// CHECK-EL-SF-MICRO: "-internal-externc-isystem"
436// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
437// CHECK-EL-SF-MICRO: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000438// CHECK-EL-SF-MICRO: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000439// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o"
440// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o"
441// CHECK-EL-SF-MICRO: "[[TC]]/micromips/soft-float/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000442// CHECK-EL-SF-MICRO: "-L[[TC]]/micromips/soft-float/el"
443// CHECK-EL-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips/soft-float/el"
444// CHECK-EL-SF-MICRO-NOT: "-L[[TC]]"
445// CHECK-EL-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/lib/../lib"
446// CHECK-EL-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000447// CHECK-EL-SF-MICRO: "[[TC]]/micromips/soft-float/el{{/|\\\\}}crtend.o"
448// CHECK-EL-SF-MICRO: "[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o"
449//
450// = Little-endian, hard float, 64-bit
451// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
452// RUN: --target=mips64el-linux-gnu \
453// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
454// RUN: | FileCheck --check-prefix=CHECK-EL-HF-64 %s
455// CHECK-EL-HF-64: "-internal-isystem"
456// CHECK-EL-HF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
457// CHECK-EL-HF-64: "-internal-isystem"
458// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/el/64"
459// CHECK-EL-HF-64: "-internal-isystem"
460// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
461// CHECK-EL-HF-64: "-internal-externc-isystem"
462// CHECK-EL-HF-64: "[[TC]]/include"
463// CHECK-EL-HF-64: "-internal-externc-isystem"
464// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
465// CHECK-EL-HF-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000466// CHECK-EL-HF-64: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/el"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000467// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64{{/|\\\\}}crt1.o"
468// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64{{/|\\\\}}crti.o"
469// CHECK-EL-HF-64: "[[TC]]/el/64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000470// CHECK-EL-HF-64: "-L[[TC]]/el/64"
471// CHECK-EL-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64/el"
472// CHECK-EL-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/lib/../lib64"
473// CHECK-EL-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64"
474// CHECK-EL-HF-64-NOT: "-L[[TC]]"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000475// CHECK-EL-HF-64: "[[TC]]/el/64{{/|\\\\}}crtend.o"
476// CHECK-EL-HF-64: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64{{/|\\\\}}crtn.o"
477//
478// = Little-endian, soft float, 64-bit
479// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
480// RUN: --target=mips64el-linux-gnu -msoft-float \
481// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
482// RUN: | FileCheck --check-prefix=CHECK-EL-SF-64 %s
483// CHECK-EL-SF-64: "-internal-isystem"
484// CHECK-EL-SF-64: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
485// CHECK-EL-SF-64: "-internal-isystem"
486// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/soft-float/el/64"
487// CHECK-EL-SF-64: "-internal-isystem"
488// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
489// CHECK-EL-SF-64: "-internal-externc-isystem"
490// CHECK-EL-SF-64: "[[TC]]/include"
491// CHECK-EL-SF-64: "-internal-externc-isystem"
492// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/usr/include"
493// CHECK-EL-SF-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000494// CHECK-EL-SF-64: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000495// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64{{/|\\\\}}crt1.o"
496// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64{{/|\\\\}}crti.o"
497// CHECK-EL-SF-64: "[[TC]]/soft-float/el/64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000498// CHECK-EL-SF-64: "-L[[TC]]/soft-float/el/64"
499// CHECK-EL-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64/soft-float/el"
500// CHECK-EL-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/lib/../lib64"
501// CHECK-EL-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64"
502// CHECK-EL-SF-64-NOT: "-L[[TC]]"
Simon Atanasyan4cc2bfa2013-11-26 11:57:19 +0000503// CHECK-EL-SF-64: "[[TC]]/soft-float/el/64{{/|\\\\}}crtend.o"
504// CHECK-EL-SF-64: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64{{/|\\\\}}crtn.o"