blob: c557b20f52b2d4ead72af618c15bb986afb41089 [file] [log] [blame]
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001// Check frontend and linker invocations on FSF MIPS toolchain.
2//
3// = Big-endian, mips32, hard float
4// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
5// RUN: --target=mips-linux-gnu -mips32 -mhard-float \
6// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_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-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
10// CHECK-BE-HF-32: "-internal-isystem"
11// CHECK-BE-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32"
12// CHECK-BE-HF-32: "-internal-isystem"
13// CHECK-BE-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/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]]/../../../../sysroot/usr/include"
18// CHECK-BE-HF-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000019// CHECK-BE-HF-32: "--sysroot=[[TC]]/../../../../sysroot/mips32"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +000020// CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crt1.o"
21// CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crti.o"
22// CHECK-BE-HF-32: "[[TC]]/mips32{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000023// CHECK-BE-HF-32: "-L[[TC]]/mips32"
24// CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32"
25// CHECK-BE-HF-32: "-L[[TC]]/../../../../sysroot/mips32/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +000026// CHECK-BE-HF-32: "[[TC]]/mips32{{/|\\\\}}crtend.o"
27// CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crtn.o"
28//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +000029// = Big-endian, mips32, hard float, fp64
30// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
31// RUN: --target=mips-linux-gnu -mips32 -mfp64 -mhard-float \
32// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
33// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-32 %s
34// CHECK-BE-HF64-32: "-internal-isystem"
35// CHECK-BE-HF64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
36// CHECK-BE-HF64-32: "-internal-isystem"
37// CHECK-BE-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/fp64"
38// CHECK-BE-HF64-32: "-internal-isystem"
39// CHECK-BE-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
40// CHECK-BE-HF64-32: "-internal-externc-isystem"
41// CHECK-BE-HF64-32: "[[TC]]/include"
42// CHECK-BE-HF64-32: "-internal-externc-isystem"
43// CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/usr/include"
44// CHECK-BE-HF64-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000045// CHECK-BE-HF64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +000046// CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/mips32/fp64/usr/lib/../lib{{/|\\\\}}crt1.o"
47// CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/mips32/fp64/usr/lib/../lib{{/|\\\\}}crti.o"
48// CHECK-BE-HF64-32: "[[TC]]/mips32/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000049// CHECK-BE-HF64-32: "-L[[TC]]/mips32/fp64"
50// CHECK-BE-HF64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/fp64"
51// CHECK-BE-HF64-32: "-L[[TC]]/../../../../sysroot/mips32/fp64/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +000052// CHECK-BE-HF64-32: "[[TC]]/mips32/fp64{{/|\\\\}}crtend.o"
53// CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/mips32/fp64/usr/lib/../lib{{/|\\\\}}crtn.o"
54//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +000055// = Big-endian, mips32, soft float
56// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
57// RUN: --target=mips-linux-gnu -mips32 -msoft-float \
58// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
59// RUN: | FileCheck --check-prefix=CHECK-BE-SF-32 %s
60// CHECK-BE-SF-32: "-internal-isystem"
61// CHECK-BE-SF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
62// CHECK-BE-SF-32: "-internal-isystem"
63// CHECK-BE-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/sof"
64// CHECK-BE-SF-32: "-internal-isystem"
65// CHECK-BE-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
66// CHECK-BE-SF-32: "-internal-externc-isystem"
67// CHECK-BE-SF-32: "[[TC]]/include"
68// CHECK-BE-SF-32: "-internal-externc-isystem"
69// CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/usr/include"
70// CHECK-BE-SF-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000071// CHECK-BE-SF-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +000072// CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
73// CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib{{/|\\\\}}crti.o"
74// CHECK-BE-SF-32: "[[TC]]/mips32/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000075// CHECK-BE-SF-32: "-L[[TC]]/mips32/sof"
76// CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/sof"
77// CHECK-BE-SF-32: "-L[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +000078// CHECK-BE-SF-32: "[[TC]]/mips32/sof{{/|\\\\}}crtend.o"
79// CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
80//
81// = Big-endian, mips16 / mips32, hard float
82// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
83// RUN: --target=mips-linux-gnu -mips32 -mips16 -mhard-float \
84// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
85// RUN: | FileCheck --check-prefix=CHECK-BE-HF-16 %s
86// CHECK-BE-HF-16: "-internal-isystem"
87// CHECK-BE-HF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
88// CHECK-BE-HF-16: "-internal-isystem"
89// CHECK-BE-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16"
90// CHECK-BE-HF-16: "-internal-isystem"
91// CHECK-BE-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
92// CHECK-BE-HF-16: "-internal-externc-isystem"
93// CHECK-BE-HF-16: "[[TC]]/include"
94// CHECK-BE-HF-16: "-internal-externc-isystem"
95// CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/usr/include"
96// CHECK-BE-HF-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000097// CHECK-BE-HF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +000098// CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
99// CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
100// CHECK-BE-HF-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000101// CHECK-BE-HF-16: "-L[[TC]]/mips32/mips16"
102// CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16"
103// CHECK-BE-HF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000104// CHECK-BE-HF-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtend.o"
105// CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
106//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000107// = Big-endian, mips16 / mips32, hard float, fp64
108// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
109// RUN: --target=mips-linux-gnu -mips32 -mips16 -mfp64 -mhard-float \
110// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
111// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-16 %s
112// CHECK-BE-HF64-16: "-internal-isystem"
113// CHECK-BE-HF64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
114// CHECK-BE-HF64-16: "-internal-isystem"
115// CHECK-BE-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/fp64"
116// CHECK-BE-HF64-16: "-internal-isystem"
117// CHECK-BE-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
118// CHECK-BE-HF64-16: "-internal-externc-isystem"
119// CHECK-BE-HF64-16: "[[TC]]/include"
120// CHECK-BE-HF64-16: "-internal-externc-isystem"
121// CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/usr/include"
122// CHECK-BE-HF64-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000123// CHECK-BE-HF64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000124// CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/fp64/usr/lib/../lib{{/|\\\\}}crt1.o"
125// CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/fp64/usr/lib/../lib{{/|\\\\}}crti.o"
126// CHECK-BE-HF64-16: "[[TC]]/mips32/mips16/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000127// CHECK-BE-HF64-16: "-L[[TC]]/mips32/mips16/fp64"
128// CHECK-BE-HF64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/fp64"
129// CHECK-BE-HF64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/fp64/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000130// CHECK-BE-HF64-16: "[[TC]]/mips32/mips16/fp64{{/|\\\\}}crtend.o"
131// CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/fp64/usr/lib/../lib{{/|\\\\}}crtn.o"
132//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000133// = Big-endian, mips16 / mips32, soft float
134// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
135// RUN: --target=mips-linux-gnu -mips32 -mips16 -msoft-float \
136// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
137// RUN: | FileCheck --check-prefix=CHECK-BE-SF-16 %s
138// CHECK-BE-SF-16: "-internal-isystem"
139// CHECK-BE-SF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
140// CHECK-BE-SF-16: "-internal-isystem"
141// CHECK-BE-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/sof"
142// CHECK-BE-SF-16: "-internal-isystem"
143// CHECK-BE-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
144// CHECK-BE-SF-16: "-internal-externc-isystem"
145// CHECK-BE-SF-16: "[[TC]]/include"
146// CHECK-BE-SF-16: "-internal-externc-isystem"
147// CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/usr/include"
148// CHECK-BE-SF-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000149// CHECK-BE-SF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000150// CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
151// CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib{{/|\\\\}}crti.o"
152// CHECK-BE-SF-16: "[[TC]]/mips32/mips16/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000153// CHECK-BE-SF-16: "-L[[TC]]/mips32/mips16/sof"
154// CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/sof"
155// CHECK-BE-SF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000156// CHECK-BE-SF-16: "[[TC]]/mips32/mips16/sof{{/|\\\\}}crtend.o"
157// CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
158//
159// = Big-endian, mips32 / mips16, nan2008
160// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
161// RUN: --target=mips-linux-gnu -mips32 -mips16 -mnan=2008 \
162// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
163// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-16 %s
164// CHECK-BE-NAN-16: "-internal-isystem"
165// CHECK-BE-NAN-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
166// CHECK-BE-NAN-16: "-internal-isystem"
167// CHECK-BE-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/nan2008"
168// CHECK-BE-NAN-16: "-internal-isystem"
169// CHECK-BE-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
170// CHECK-BE-NAN-16: "-internal-externc-isystem"
171// CHECK-BE-NAN-16: "[[TC]]/include"
172// CHECK-BE-NAN-16: "-internal-externc-isystem"
173// CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/usr/include"
174// CHECK-BE-NAN-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000175// CHECK-BE-NAN-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000176// CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
177// CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
178// CHECK-BE-NAN-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000179// CHECK-BE-NAN-16: "-L[[TC]]/mips32/mips16/nan2008"
180// CHECK-BE-NAN-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/nan2008"
181// CHECK-BE-NAN-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000182// CHECK-BE-NAN-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtend.o"
183// CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
184//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000185// = Big-endian, mips32 / mips16, fp64, nan2008
186// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
187// RUN: --target=mips-linux-gnu -mips32 -mips16 -mfp64 -mnan=2008 \
188// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
189// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-16 %s
190// CHECK-BE-NAN64-16: "-internal-isystem"
191// CHECK-BE-NAN64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
192// CHECK-BE-NAN64-16: "-internal-isystem"
193// CHECK-BE-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/fp64/nan2008"
194// CHECK-BE-NAN64-16: "-internal-isystem"
195// CHECK-BE-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
196// CHECK-BE-NAN64-16: "-internal-externc-isystem"
197// CHECK-BE-NAN64-16: "[[TC]]/include"
198// CHECK-BE-NAN64-16: "-internal-externc-isystem"
199// CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/usr/include"
200// CHECK-BE-NAN64-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000201// CHECK-BE-NAN64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000202// CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
203// CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
204// CHECK-BE-NAN64-16: "[[TC]]/mips32/mips16/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000205// CHECK-BE-NAN64-16: "-L[[TC]]/mips32/mips16/fp64/nan2008"
206// CHECK-BE-NAN64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/fp64/nan2008"
207// CHECK-BE-NAN64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/fp64/nan2008/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000208// CHECK-BE-NAN64-16: "[[TC]]/mips32/mips16/fp64/nan2008{{/|\\\\}}crtend.o"
209// CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
210//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000211// = Big-endian, mips32, nan2008
212// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
213// RUN: --target=mips-linux-gnu -mips32 -mnan=2008 \
214// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
215// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-32 %s
216// CHECK-BE-NAN-32: "-internal-isystem"
217// CHECK-BE-NAN-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
218// CHECK-BE-NAN-32: "-internal-isystem"
219// CHECK-BE-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/nan2008"
220// CHECK-BE-NAN-32: "-internal-isystem"
221// CHECK-BE-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
222// CHECK-BE-NAN-32: "-internal-externc-isystem"
223// CHECK-BE-NAN-32: "[[TC]]/include"
224// CHECK-BE-NAN-32: "-internal-externc-isystem"
225// CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/usr/include"
226// CHECK-BE-NAN-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000227// CHECK-BE-NAN-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000228// CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
229// CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
230// CHECK-BE-NAN-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000231// CHECK-BE-NAN-32: "-L[[TC]]/mips32/nan2008"
232// CHECK-BE-NAN-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/nan2008"
233// CHECK-BE-NAN-32: "-L[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000234// CHECK-BE-NAN-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtend.o"
235// CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
236//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000237// = Big-endian, mips32, fp64, nan2008
238// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
239// RUN: --target=mips-linux-gnu -mips32 -mfp64 -mnan=2008 \
240// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
241// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-32 %s
242// CHECK-BE-NAN64-32: "-internal-isystem"
243// CHECK-BE-NAN64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
244// CHECK-BE-NAN64-32: "-internal-isystem"
245// CHECK-BE-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/fp64/nan2008"
246// CHECK-BE-NAN64-32: "-internal-isystem"
247// CHECK-BE-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
248// CHECK-BE-NAN64-32: "-internal-externc-isystem"
249// CHECK-BE-NAN64-32: "[[TC]]/include"
250// CHECK-BE-NAN64-32: "-internal-externc-isystem"
251// CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/usr/include"
252// CHECK-BE-NAN64-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000253// CHECK-BE-NAN64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000254// CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/mips32/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
255// CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/mips32/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
256// CHECK-BE-NAN64-32: "[[TC]]/mips32/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000257// CHECK-BE-NAN64-32: "-L[[TC]]/mips32/fp64/nan2008"
258// CHECK-BE-NAN64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/fp64/nan2008"
259// CHECK-BE-NAN64-32: "-L[[TC]]/../../../../sysroot/mips32/fp64/nan2008/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000260// CHECK-BE-NAN64-32: "[[TC]]/mips32/fp64/nan2008{{/|\\\\}}crtend.o"
261// CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/mips32/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
262//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000263// = Big-endian, mips32r2, hard float
264// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
265// RUN: --target=mips-linux-gnu -mips32r2 -mhard-float \
266// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
267// RUN: | FileCheck --check-prefix=CHECK-BE-HF-32R2 %s
268// CHECK-BE-HF-32R2: "-internal-isystem"
269// CHECK-BE-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
270// CHECK-BE-HF-32R2: "-internal-isystem"
271// CHECK-BE-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu"
272// CHECK-BE-HF-32R2: "-internal-isystem"
273// CHECK-BE-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
274// CHECK-BE-HF-32R2: "-internal-externc-isystem"
275// CHECK-BE-HF-32R2: "[[TC]]/include"
276// CHECK-BE-HF-32R2: "-internal-externc-isystem"
277// CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/include"
278// CHECK-BE-HF-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000279// CHECK-BE-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000280// CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crt1.o"
281// CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crti.o"
282// CHECK-BE-HF-32R2: "[[TC]]{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000283// CHECK-BE-HF-32R2: "-L[[TC]]"
284// CHECK-BE-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib"
285// CHECK-BE-HF-32R2: "-L[[TC]]/../../../../sysroot/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000286// CHECK-BE-HF-32R2: "[[TC]]{{/|\\\\}}crtend.o"
287// CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crtn.o"
288//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000289// = Big-endian, mips32r2, fp64, hard float
290// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
291// RUN: --target=mips-linux-gnu -mips32r2 -mfp64 -mhard-float \
292// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
293// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-32R2 %s
294// CHECK-BE-HF64-32R2: "-internal-isystem"
295// CHECK-BE-HF64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
296// CHECK-BE-HF64-32R2: "-internal-isystem"
297// CHECK-BE-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/fp64"
298// CHECK-BE-HF64-32R2: "-internal-isystem"
299// CHECK-BE-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
300// CHECK-BE-HF64-32R2: "-internal-externc-isystem"
301// CHECK-BE-HF64-32R2: "[[TC]]/include"
302// CHECK-BE-HF64-32R2: "-internal-externc-isystem"
303// CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/usr/include"
304// CHECK-BE-HF64-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000305// CHECK-BE-HF64-32R2: "--sysroot=[[TC]]/../../../../sysroot/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000306// CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/fp64/usr/lib/../lib{{/|\\\\}}crt1.o"
307// CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/fp64/usr/lib/../lib{{/|\\\\}}crti.o"
308// CHECK-BE-HF64-32R2: "[[TC]]/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000309// CHECK-BE-HF64-32R2: "-L[[TC]]/fp64"
310// CHECK-BE-HF64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/fp64"
311// CHECK-BE-HF64-32R2: "-L[[TC]]/../../../../sysroot/fp64/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000312// CHECK-BE-HF64-32R2: "[[TC]]/fp64{{/|\\\\}}crtend.o"
313// CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/fp64/usr/lib/../lib{{/|\\\\}}crtn.o"
314//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000315// = Big-endian, mips32r2, soft float
316// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
317// RUN: --target=mips-linux-gnu -mips32r2 -msoft-float \
318// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
319// RUN: | FileCheck --check-prefix=CHECK-BE-SF-32R2 %s
320// CHECK-BE-SF-32R2: "-internal-isystem"
321// CHECK-BE-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
322// CHECK-BE-SF-32R2: "-internal-isystem"
323// CHECK-BE-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/sof"
324// CHECK-BE-SF-32R2: "-internal-isystem"
325// CHECK-BE-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
326// CHECK-BE-SF-32R2: "-internal-externc-isystem"
327// CHECK-BE-SF-32R2: "[[TC]]/include"
328// CHECK-BE-SF-32R2: "-internal-externc-isystem"
329// CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/usr/include"
330// CHECK-BE-SF-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000331// CHECK-BE-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000332// CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
333// CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crti.o"
334// CHECK-BE-SF-32R2: "[[TC]]/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000335// CHECK-BE-SF-32R2: "-L[[TC]]/sof"
336// CHECK-BE-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/sof"
337// CHECK-BE-SF-32R2: "-L[[TC]]/../../../../sysroot/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000338// CHECK-BE-SF-32R2: "[[TC]]/sof{{/|\\\\}}crtend.o"
339// CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
340//
341// = Big-endian, mips32r2 / mips16, hard float
342// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
343// RUN: --target=mips-linux-gnu -mips32r2 -mips16 -mhard-float \
344// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
345// RUN: | FileCheck --check-prefix=CHECK-BE-HF-16R2 %s
346// CHECK-BE-HF-16R2: "-internal-isystem"
347// CHECK-BE-HF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
348// CHECK-BE-HF-16R2: "-internal-isystem"
349// CHECK-BE-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16"
350// CHECK-BE-HF-16R2: "-internal-isystem"
351// CHECK-BE-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
352// CHECK-BE-HF-16R2: "-internal-externc-isystem"
353// CHECK-BE-HF-16R2: "[[TC]]/include"
354// CHECK-BE-HF-16R2: "-internal-externc-isystem"
355// CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/usr/include"
356// CHECK-BE-HF-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000357// CHECK-BE-HF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000358// CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
359// CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
360// CHECK-BE-HF-16R2: "[[TC]]/mips16{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000361// CHECK-BE-HF-16R2: "-L[[TC]]/mips16"
362// CHECK-BE-HF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16"
363// CHECK-BE-HF-16R2: "-L[[TC]]/../../../../sysroot/mips16/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000364// CHECK-BE-HF-16R2: "[[TC]]/mips16{{/|\\\\}}crtend.o"
365// CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
366//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000367// = Big-endian, mips32r2 / mips16, fp64, hard float
368// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
369// RUN: --target=mips-linux-gnu -mips32r2 -mips16 -mfp64 -mhard-float \
370// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
371// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-16R2 %s
372// CHECK-BE-HF64-16R2: "-internal-isystem"
373// CHECK-BE-HF64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
374// CHECK-BE-HF64-16R2: "-internal-isystem"
375// CHECK-BE-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/fp64"
376// CHECK-BE-HF64-16R2: "-internal-isystem"
377// CHECK-BE-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
378// CHECK-BE-HF64-16R2: "-internal-externc-isystem"
379// CHECK-BE-HF64-16R2: "[[TC]]/include"
380// CHECK-BE-HF64-16R2: "-internal-externc-isystem"
381// CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/usr/include"
382// CHECK-BE-HF64-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000383// CHECK-BE-HF64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000384// CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/fp64/usr/lib/../lib{{/|\\\\}}crt1.o"
385// CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/fp64/usr/lib/../lib{{/|\\\\}}crti.o"
386// CHECK-BE-HF64-16R2: "[[TC]]/mips16/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000387// CHECK-BE-HF64-16R2: "-L[[TC]]/mips16/fp64"
388// CHECK-BE-HF64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/fp64"
389// CHECK-BE-HF64-16R2: "-L[[TC]]/../../../../sysroot/mips16/fp64/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000390// CHECK-BE-HF64-16R2: "[[TC]]/mips16/fp64{{/|\\\\}}crtend.o"
391// CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/fp64/usr/lib/../lib{{/|\\\\}}crtn.o"
392//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000393// = Big-endian, mips32r2 / mips16, soft float
394// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
395// RUN: --target=mips-linux-gnu -mips32r2 -mips16 -msoft-float \
396// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
397// RUN: | FileCheck --check-prefix=CHECK-BE-SF-16R2 %s
398// CHECK-BE-SF-16R2: "-internal-isystem"
399// CHECK-BE-SF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
400// CHECK-BE-SF-16R2: "-internal-isystem"
401// CHECK-BE-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/sof"
402// CHECK-BE-SF-16R2: "-internal-isystem"
403// CHECK-BE-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
404// CHECK-BE-SF-16R2: "-internal-externc-isystem"
405// CHECK-BE-SF-16R2: "[[TC]]/include"
406// CHECK-BE-SF-16R2: "-internal-externc-isystem"
407// CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/usr/include"
408// CHECK-BE-SF-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000409// CHECK-BE-SF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000410// CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
411// CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib{{/|\\\\}}crti.o"
412// CHECK-BE-SF-16R2: "[[TC]]/mips16/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000413// CHECK-BE-SF-16R2: "-L[[TC]]/mips16/sof"
414// CHECK-BE-SF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/sof"
415// CHECK-BE-SF-16R2: "-L[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000416// CHECK-BE-SF-16R2: "[[TC]]/mips16/sof{{/|\\\\}}crtend.o"
417// CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
418//
419// = Big-endian, mips32r2 / mips16, nan2008
420// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
421// RUN: --target=mips-linux-gnu -mips32r2 -mips16 -mnan=2008 \
422// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
423// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-16R2 %s
424// CHECK-BE-NAN-16R2: "-internal-isystem"
425// CHECK-BE-NAN-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
426// CHECK-BE-NAN-16R2: "-internal-isystem"
427// CHECK-BE-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/nan2008"
428// CHECK-BE-NAN-16R2: "-internal-isystem"
429// CHECK-BE-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
430// CHECK-BE-NAN-16R2: "-internal-externc-isystem"
431// CHECK-BE-NAN-16R2: "[[TC]]/include"
432// CHECK-BE-NAN-16R2: "-internal-externc-isystem"
433// CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/usr/include"
434// CHECK-BE-NAN-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000435// CHECK-BE-NAN-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000436// CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
437// CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
438// CHECK-BE-NAN-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000439// CHECK-BE-NAN-16R2: "-L[[TC]]/mips16/nan2008"
440// CHECK-BE-NAN-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/nan2008"
441// CHECK-BE-NAN-16R2: "-L[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000442// CHECK-BE-NAN-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtend.o"
443// CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
444//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000445// = Big-endian, mips32r2 / mips16, fp64, nan2008
446// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
447// RUN: --target=mips-linux-gnu -mips32r2 -mips16 -mfp64 -mnan=2008 \
448// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
449// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-16R2 %s
450// CHECK-BE-NAN64-16R2: "-internal-isystem"
451// CHECK-BE-NAN64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
452// CHECK-BE-NAN64-16R2: "-internal-isystem"
453// CHECK-BE-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/fp64/nan2008"
454// CHECK-BE-NAN64-16R2: "-internal-isystem"
455// CHECK-BE-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
456// CHECK-BE-NAN64-16R2: "-internal-externc-isystem"
457// CHECK-BE-NAN64-16R2: "[[TC]]/include"
458// CHECK-BE-NAN64-16R2: "-internal-externc-isystem"
459// CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/usr/include"
460// CHECK-BE-NAN64-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000461// CHECK-BE-NAN64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000462// CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
463// CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
464// CHECK-BE-NAN64-16R2: "[[TC]]/mips16/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000465// CHECK-BE-NAN64-16R2: "-L[[TC]]/mips16/fp64/nan2008"
466// CHECK-BE-NAN64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/fp64/nan2008"
467// CHECK-BE-NAN64-16R2: "-L[[TC]]/../../../../sysroot/mips16/fp64/nan2008/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000468// CHECK-BE-NAN64-16R2: "[[TC]]/mips16/fp64/nan2008{{/|\\\\}}crtend.o"
469// CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
470//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000471// = Big-endian, mips32r2, nan2008
472// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
473// RUN: --target=mips-linux-gnu -mips32r2 -mnan=2008 \
474// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
475// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-32R2 %s
476// CHECK-BE-NAN-32R2: "-internal-isystem"
477// CHECK-BE-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
478// CHECK-BE-NAN-32R2: "-internal-isystem"
479// CHECK-BE-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/nan2008"
480// CHECK-BE-NAN-32R2: "-internal-isystem"
481// CHECK-BE-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
482// CHECK-BE-NAN-32R2: "-internal-externc-isystem"
483// CHECK-BE-NAN-32R2: "[[TC]]/include"
484// CHECK-BE-NAN-32R2: "-internal-externc-isystem"
485// CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/usr/include"
486// CHECK-BE-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000487// CHECK-BE-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000488// CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
489// CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
490// CHECK-BE-NAN-32R2: "[[TC]]/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000491// CHECK-BE-NAN-32R2: "-L[[TC]]/nan2008"
492// CHECK-BE-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/nan2008"
493// CHECK-BE-NAN-32R2: "-L[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000494// CHECK-BE-NAN-32R2: "[[TC]]/nan2008{{/|\\\\}}crtend.o"
495// CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
496//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000497// = Big-endian, mips32r2, fp64, nan2008
498// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
499// RUN: --target=mips-linux-gnu -mips32r2 -mfp64 -mnan=2008 \
500// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
501// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-32R2 %s
502// CHECK-BE-NAN64-32R2: "-internal-isystem"
503// CHECK-BE-NAN64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
504// CHECK-BE-NAN64-32R2: "-internal-isystem"
505// CHECK-BE-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/fp64/nan2008"
506// CHECK-BE-NAN64-32R2: "-internal-isystem"
507// CHECK-BE-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
508// CHECK-BE-NAN64-32R2: "-internal-externc-isystem"
509// CHECK-BE-NAN64-32R2: "[[TC]]/include"
510// CHECK-BE-NAN64-32R2: "-internal-externc-isystem"
511// CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/usr/include"
512// CHECK-BE-NAN64-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000513// CHECK-BE-NAN64-32R2: "--sysroot=[[TC]]/../../../../sysroot/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000514// CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
515// CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
516// CHECK-BE-NAN64-32R2: "[[TC]]/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000517// CHECK-BE-NAN64-32R2: "-L[[TC]]/fp64/nan2008"
518// CHECK-BE-NAN64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/fp64/nan2008"
519// CHECK-BE-NAN64-32R2: "-L[[TC]]/../../../../sysroot/fp64/nan2008/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000520// CHECK-BE-NAN64-32R2: "[[TC]]/fp64/nan2008{{/|\\\\}}crtend.o"
521// CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
522//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000523// = Big-endian, micromips, hard float
524// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
525// RUN: --target=mips-linux-gnu -mmicromips -mhard-float \
526// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
527// RUN: | FileCheck --check-prefix=CHECK-BE-HF-MM %s
528// CHECK-BE-HF-MM: "-internal-isystem"
529// CHECK-BE-HF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
530// CHECK-BE-HF-MM: "-internal-isystem"
531// CHECK-BE-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips"
532// CHECK-BE-HF-MM: "-internal-isystem"
533// CHECK-BE-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
534// CHECK-BE-HF-MM: "-internal-externc-isystem"
535// CHECK-BE-HF-MM: "[[TC]]/include"
536// CHECK-BE-HF-MM: "-internal-externc-isystem"
537// CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/usr/include"
538// CHECK-BE-HF-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000539// CHECK-BE-HF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000540// CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crt1.o"
541// CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crti.o"
542// CHECK-BE-HF-MM: "[[TC]]/micromips{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000543// CHECK-BE-HF-MM: "-L[[TC]]/micromips"
544// CHECK-BE-HF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips"
545// CHECK-BE-HF-MM: "-L[[TC]]/../../../../sysroot/micromips/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000546// CHECK-BE-HF-MM: "[[TC]]/micromips{{/|\\\\}}crtend.o"
547// CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crtn.o"
548//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000549// = Big-endian, micromips, fp64, hard float
550// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
551// RUN: --target=mips-linux-gnu -mmicromips -mfp64 -mhard-float \
552// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
553// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-MM %s
554// CHECK-BE-HF64-MM: "-internal-isystem"
555// CHECK-BE-HF64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
556// CHECK-BE-HF64-MM: "-internal-isystem"
557// CHECK-BE-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/fp64"
558// CHECK-BE-HF64-MM: "-internal-isystem"
559// CHECK-BE-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
560// CHECK-BE-HF64-MM: "-internal-externc-isystem"
561// CHECK-BE-HF64-MM: "[[TC]]/include"
562// CHECK-BE-HF64-MM: "-internal-externc-isystem"
563// CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/usr/include"
564// CHECK-BE-HF64-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000565// CHECK-BE-HF64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000566// CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/micromips/fp64/usr/lib/../lib{{/|\\\\}}crt1.o"
567// CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/micromips/fp64/usr/lib/../lib{{/|\\\\}}crti.o"
568// CHECK-BE-HF64-MM: "[[TC]]/micromips/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000569// CHECK-BE-HF64-MM: "-L[[TC]]/micromips/fp64"
570// CHECK-BE-HF64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/fp64"
571// CHECK-BE-HF64-MM: "-L[[TC]]/../../../../sysroot/micromips/fp64/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000572// CHECK-BE-HF64-MM: "[[TC]]/micromips/fp64{{/|\\\\}}crtend.o"
573// CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/micromips/fp64/usr/lib/../lib{{/|\\\\}}crtn.o"
574//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000575// = Big-endian, micromips, soft float
576// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
577// RUN: --target=mips-linux-gnu -mmicromips -msoft-float \
578// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
579// RUN: | FileCheck --check-prefix=CHECK-BE-SF-MM %s
580// CHECK-BE-SF-MM: "-internal-isystem"
581// CHECK-BE-SF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
582// CHECK-BE-SF-MM: "-internal-isystem"
583// CHECK-BE-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/sof"
584// CHECK-BE-SF-MM: "-internal-isystem"
585// CHECK-BE-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
586// CHECK-BE-SF-MM: "-internal-externc-isystem"
587// CHECK-BE-SF-MM: "[[TC]]/include"
588// CHECK-BE-SF-MM: "-internal-externc-isystem"
589// CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/usr/include"
590// CHECK-BE-SF-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000591// CHECK-BE-SF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000592// CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
593// CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib{{/|\\\\}}crti.o"
594// CHECK-BE-SF-MM: "[[TC]]/micromips/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000595// CHECK-BE-SF-MM: "-L[[TC]]/micromips/sof"
596// CHECK-BE-SF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/sof"
597// CHECK-BE-SF-MM: "-L[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000598// CHECK-BE-SF-MM: "[[TC]]/micromips/sof{{/|\\\\}}crtend.o"
599// CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
600//
601// = Big-endian, micromips, nan2008
602// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
603// RUN: --target=mips-linux-gnu -mmicromips -mnan=2008 \
604// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
605// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-MM %s
606// CHECK-BE-NAN-MM: "-internal-isystem"
607// CHECK-BE-NAN-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
608// CHECK-BE-NAN-MM: "-internal-isystem"
609// CHECK-BE-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/nan2008"
610// CHECK-BE-NAN-MM: "-internal-isystem"
611// CHECK-BE-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
612// CHECK-BE-NAN-MM: "-internal-externc-isystem"
613// CHECK-BE-NAN-MM: "[[TC]]/include"
614// CHECK-BE-NAN-MM: "-internal-externc-isystem"
615// CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/usr/include"
616// CHECK-BE-NAN-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000617// CHECK-BE-NAN-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000618// CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
619// CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
620// CHECK-BE-NAN-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000621// CHECK-BE-NAN-MM: "-L[[TC]]/micromips/nan2008"
622// CHECK-BE-NAN-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/nan2008"
623// CHECK-BE-NAN-MM: "-L[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000624// CHECK-BE-NAN-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtend.o"
625// CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
626//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000627// = Big-endian, micromips, fp64, nan2008
628// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
629// RUN: --target=mips-linux-gnu -mmicromips -mfp64 -mnan=2008 \
630// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
631// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-MM %s
632// CHECK-BE-NAN64-MM: "-internal-isystem"
633// CHECK-BE-NAN64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
634// CHECK-BE-NAN64-MM: "-internal-isystem"
635// CHECK-BE-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/fp64/nan2008"
636// CHECK-BE-NAN64-MM: "-internal-isystem"
637// CHECK-BE-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
638// CHECK-BE-NAN64-MM: "-internal-externc-isystem"
639// CHECK-BE-NAN64-MM: "[[TC]]/include"
640// CHECK-BE-NAN64-MM: "-internal-externc-isystem"
641// CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/usr/include"
642// CHECK-BE-NAN64-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000643// CHECK-BE-NAN64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000644// CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
645// CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
646// CHECK-BE-NAN64-MM: "[[TC]]/micromips/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000647// CHECK-BE-NAN64-MM: "-L[[TC]]/micromips/fp64/nan2008"
648// CHECK-BE-NAN64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/fp64/nan2008"
649// CHECK-BE-NAN64-MM: "-L[[TC]]/../../../../sysroot/micromips/fp64/nan2008/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000650// CHECK-BE-NAN64-MM: "[[TC]]/micromips/fp64/nan2008{{/|\\\\}}crtend.o"
651// CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
652//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000653// = Big-endian, mips64, ABI n32, hard float
654// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
655// RUN: --target=mips64-linux-gnu -mips64 -mabi=n32 -mhard-float \
656// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
657// RUN: | FileCheck --check-prefix=CHECK-BE-HF-64-N32 %s
658// CHECK-BE-HF-64-N32: "-internal-isystem"
659// CHECK-BE-HF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
660// CHECK-BE-HF-64-N32: "-internal-isystem"
661// CHECK-BE-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64"
662// CHECK-BE-HF-64-N32: "-internal-isystem"
663// CHECK-BE-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
664// CHECK-BE-HF-64-N32: "-internal-externc-isystem"
665// CHECK-BE-HF-64-N32: "[[TC]]/include"
666// CHECK-BE-HF-64-N32: "-internal-externc-isystem"
667// CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
668// CHECK-BE-HF-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000669// CHECK-BE-HF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000670// CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crt1.o"
671// CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crti.o"
672// CHECK-BE-HF-64-N32: "[[TC]]/mips64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000673// CHECK-BE-HF-64-N32: "-L[[TC]]/mips64"
674// CHECK-BE-HF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64"
675// CHECK-BE-HF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000676// CHECK-BE-HF-64-N32: "[[TC]]/mips64{{/|\\\\}}crtend.o"
677// CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crtn.o"
678//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000679// = Big-endian, mips64, ABI n32, fp64, hard float
680// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
681// RUN: --target=mips64-linux-gnu -mips64 -mabi=n32 -mfp64 -mhard-float \
682// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
683// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-64-N32 %s
684// CHECK-BE-HF64-64-N32: "-internal-isystem"
685// CHECK-BE-HF64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
686// CHECK-BE-HF64-64-N32: "-internal-isystem"
687// CHECK-BE-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/fp64"
688// CHECK-BE-HF64-64-N32: "-internal-isystem"
689// CHECK-BE-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
690// CHECK-BE-HF64-64-N32: "-internal-externc-isystem"
691// CHECK-BE-HF64-64-N32: "[[TC]]/include"
692// CHECK-BE-HF64-64-N32: "-internal-externc-isystem"
693// CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
694// CHECK-BE-HF64-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000695// CHECK-BE-HF64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000696// CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/fp64/usr/lib{{/|\\\\}}crt1.o"
697// CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/fp64/usr/lib{{/|\\\\}}crti.o"
698// CHECK-BE-HF64-64-N32: "[[TC]]/mips64/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000699// CHECK-BE-HF64-64-N32: "-L[[TC]]/mips64/fp64"
700// CHECK-BE-HF64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/fp64"
701// CHECK-BE-HF64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/fp64/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000702// CHECK-BE-HF64-64-N32: "[[TC]]/mips64/fp64{{/|\\\\}}crtend.o"
703// CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/fp64/usr/lib{{/|\\\\}}crtn.o"
704//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000705// = Big-endian, mips64, ABI n32, soft float
706// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
707// RUN: --target=mips64-linux-gnu -mips64 -mabi=n32 -msoft-float \
708// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
709// RUN: | FileCheck --check-prefix=CHECK-BE-SF-64-N32 %s
710// CHECK-BE-SF-64-N32: "-internal-isystem"
711// CHECK-BE-SF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
712// CHECK-BE-SF-64-N32: "-internal-isystem"
713// CHECK-BE-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/sof"
714// CHECK-BE-SF-64-N32: "-internal-isystem"
715// CHECK-BE-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
716// CHECK-BE-SF-64-N32: "-internal-externc-isystem"
717// CHECK-BE-SF-64-N32: "[[TC]]/include"
718// CHECK-BE-SF-64-N32: "-internal-externc-isystem"
719// CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
720// CHECK-BE-SF-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000721// CHECK-BE-SF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000722// CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/sof/usr/lib{{/|\\\\}}crt1.o"
723// CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/sof/usr/lib{{/|\\\\}}crti.o"
724// CHECK-BE-SF-64-N32: "[[TC]]/mips64/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000725// CHECK-BE-SF-64-N32: "-L[[TC]]/mips64/sof"
726// CHECK-BE-SF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/sof"
727// CHECK-BE-SF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000728// CHECK-BE-SF-64-N32: "[[TC]]/mips64/sof{{/|\\\\}}crtend.o"
729// CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/sof/usr/lib{{/|\\\\}}crtn.o"
730//
731// = Big-endian, mips64, ABI n32, nan2008
732// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
733// RUN: --target=mips64-linux-gnu -mips64 -mabi=n32 -mnan=2008 \
734// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
735// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-64-N32 %s
736// CHECK-BE-NAN-64-N32: "-internal-isystem"
737// CHECK-BE-NAN-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
738// CHECK-BE-NAN-64-N32: "-internal-isystem"
739// CHECK-BE-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/nan2008"
740// CHECK-BE-NAN-64-N32: "-internal-isystem"
741// CHECK-BE-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
742// CHECK-BE-NAN-64-N32: "-internal-externc-isystem"
743// CHECK-BE-NAN-64-N32: "[[TC]]/include"
744// CHECK-BE-NAN-64-N32: "-internal-externc-isystem"
745// CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/usr/include"
746// CHECK-BE-NAN-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000747// CHECK-BE-NAN-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000748// CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crt1.o"
749// CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crti.o"
750// CHECK-BE-NAN-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000751// CHECK-BE-NAN-64-N32: "-L[[TC]]/mips64/nan2008"
752// CHECK-BE-NAN-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/nan2008"
753// CHECK-BE-NAN-64-N32: "-L[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000754// CHECK-BE-NAN-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtend.o"
755// CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crtn.o"
756//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000757// = Big-endian, mips64, ABI n32, fp64, nan2008
758// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
759// RUN: --target=mips64-linux-gnu -mips64 -mabi=n32 -mfp64 -mnan=2008 \
760// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
761// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-64-N32 %s
762// CHECK-BE-NAN64-64-N32: "-internal-isystem"
763// CHECK-BE-NAN64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
764// CHECK-BE-NAN64-64-N32: "-internal-isystem"
765// CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/fp64/nan2008"
766// CHECK-BE-NAN64-64-N32: "-internal-isystem"
767// CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
768// CHECK-BE-NAN64-64-N32: "-internal-externc-isystem"
769// CHECK-BE-NAN64-64-N32: "[[TC]]/include"
770// CHECK-BE-NAN64-64-N32: "-internal-externc-isystem"
771// CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
772// CHECK-BE-NAN64-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000773// CHECK-BE-NAN64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000774// CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/fp64/nan2008/usr/lib{{/|\\\\}}crt1.o"
775// CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/fp64/nan2008/usr/lib{{/|\\\\}}crti.o"
776// CHECK-BE-NAN64-64-N32: "[[TC]]/mips64/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000777// CHECK-BE-NAN64-64-N32: "-L[[TC]]/mips64/fp64/nan2008"
778// CHECK-BE-NAN64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/fp64/nan2008"
779// CHECK-BE-NAN64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/fp64/nan2008/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000780// CHECK-BE-NAN64-64-N32: "[[TC]]/mips64/fp64/nan2008{{/|\\\\}}crtend.o"
781// CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/fp64/nan2008/usr/lib{{/|\\\\}}crtn.o"
782//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000783// = Big-endian, mips64, ABI 64, hard float
784// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
785// RUN: --target=mips64-linux-gnu -mips64 -mabi=64 -mhard-float \
786// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
787// RUN: | FileCheck --check-prefix=CHECK-BE-HF-64-64 %s
788// CHECK-BE-HF-64-64: "-internal-isystem"
789// CHECK-BE-HF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
790// CHECK-BE-HF-64-64: "-internal-isystem"
791// CHECK-BE-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64"
792// CHECK-BE-HF-64-64: "-internal-isystem"
793// CHECK-BE-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
794// CHECK-BE-HF-64-64: "-internal-externc-isystem"
795// CHECK-BE-HF-64-64: "[[TC]]/include"
796// CHECK-BE-HF-64-64: "-internal-externc-isystem"
797// CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/usr/include"
798// CHECK-BE-HF-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000799// CHECK-BE-HF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000800// CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crt1.o"
801// CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crti.o"
802// CHECK-BE-HF-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000803// CHECK-BE-HF-64-64: "-L[[TC]]/mips64/64"
804// CHECK-BE-HF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64"
805// CHECK-BE-HF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000806// CHECK-BE-HF-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtend.o"
807// CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crtn.o"
808//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000809// = Big-endian, mips64, ABI 64, fp64, hard float
810// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
811// RUN: --target=mips64-linux-gnu -mips64 -mabi=64 -mfp64 -mhard-float \
812// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
813// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-64-64 %s
814// CHECK-BE-HF64-64-64: "-internal-isystem"
815// CHECK-BE-HF64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
816// CHECK-BE-HF64-64-64: "-internal-isystem"
817// CHECK-BE-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/fp64"
818// CHECK-BE-HF64-64-64: "-internal-isystem"
819// CHECK-BE-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
820// CHECK-BE-HF64-64-64: "-internal-externc-isystem"
821// CHECK-BE-HF64-64-64: "[[TC]]/include"
822// CHECK-BE-HF64-64-64: "-internal-externc-isystem"
823// CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/usr/include"
824// CHECK-BE-HF64-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000825// CHECK-BE-HF64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000826// CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/fp64/usr/lib{{/|\\\\}}crt1.o"
827// CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/fp64/usr/lib{{/|\\\\}}crti.o"
828// CHECK-BE-HF64-64-64: "[[TC]]/mips64/64/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000829// CHECK-BE-HF64-64-64: "-L[[TC]]/mips64/64/fp64"
830// CHECK-BE-HF64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/fp64"
831// CHECK-BE-HF64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/fp64/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000832// CHECK-BE-HF64-64-64: "[[TC]]/mips64/64/fp64{{/|\\\\}}crtend.o"
833// CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/fp64/usr/lib{{/|\\\\}}crtn.o"
834//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000835// = Big-endian, mips64, ABI 64, soft float
836// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
837// RUN: --target=mips64-linux-gnu -mips64 -mabi=64 -msoft-float \
838// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
839// RUN: | FileCheck --check-prefix=CHECK-BE-SF-64-64 %s
840// CHECK-BE-SF-64-64: "-internal-isystem"
841// CHECK-BE-SF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
842// CHECK-BE-SF-64-64: "-internal-isystem"
843// CHECK-BE-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/sof"
844// CHECK-BE-SF-64-64: "-internal-isystem"
845// CHECK-BE-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
846// CHECK-BE-SF-64-64: "-internal-externc-isystem"
847// CHECK-BE-SF-64-64: "[[TC]]/include"
848// CHECK-BE-SF-64-64: "-internal-externc-isystem"
849// CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/usr/include"
850// CHECK-BE-SF-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000851// CHECK-BE-SF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000852// CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib{{/|\\\\}}crt1.o"
853// CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib{{/|\\\\}}crti.o"
854// CHECK-BE-SF-64-64: "[[TC]]/mips64/64/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000855// CHECK-BE-SF-64-64: "-L[[TC]]/mips64/64/sof"
856// CHECK-BE-SF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/sof"
857// CHECK-BE-SF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000858// CHECK-BE-SF-64-64: "[[TC]]/mips64/64/sof{{/|\\\\}}crtend.o"
859// CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib{{/|\\\\}}crtn.o"
860//
861// = Big-endian, mips64, ABI 64, nan2008
862// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
863// RUN: --target=mips64-linux-gnu -mips64 -mabi=64 -mnan=2008 \
864// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
865// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-64-64 %s
866// CHECK-BE-NAN-64-64: "-internal-isystem"
867// CHECK-BE-NAN-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
868// CHECK-BE-NAN-64-64: "-internal-isystem"
869// CHECK-BE-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/nan2008"
870// CHECK-BE-NAN-64-64: "-internal-isystem"
871// CHECK-BE-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
872// CHECK-BE-NAN-64-64: "-internal-externc-isystem"
873// CHECK-BE-NAN-64-64: "[[TC]]/include"
874// CHECK-BE-NAN-64-64: "-internal-externc-isystem"
875// CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/usr/include"
876// CHECK-BE-NAN-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000877// CHECK-BE-NAN-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000878// CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
879// CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crti.o"
880// CHECK-BE-NAN-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000881// CHECK-BE-NAN-64-64: "-L[[TC]]/mips64/64/nan2008"
882// CHECK-BE-NAN-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/nan2008"
883// CHECK-BE-NAN-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000884// CHECK-BE-NAN-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtend.o"
885// CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
886//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000887// = Big-endian, mips64, ABI 64, fp64, nan2008
888// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
889// RUN: --target=mips64-linux-gnu -mips64 -mabi=64 -mfp64 -mnan=2008 \
890// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
891// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-64-64 %s
892// CHECK-BE-NAN64-64-64: "-internal-isystem"
893// CHECK-BE-NAN64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
894// CHECK-BE-NAN64-64-64: "-internal-isystem"
895// CHECK-BE-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/fp64/nan2008"
896// CHECK-BE-NAN64-64-64: "-internal-isystem"
897// CHECK-BE-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
898// CHECK-BE-NAN64-64-64: "-internal-externc-isystem"
899// CHECK-BE-NAN64-64-64: "[[TC]]/include"
900// CHECK-BE-NAN64-64-64: "-internal-externc-isystem"
901// CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/usr/include"
902// CHECK-BE-NAN64-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000903// CHECK-BE-NAN64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000904// CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/fp64/nan2008/usr/lib{{/|\\\\}}crt1.o"
905// CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/fp64/nan2008/usr/lib{{/|\\\\}}crti.o"
906// CHECK-BE-NAN64-64-64: "[[TC]]/mips64/64/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000907// CHECK-BE-NAN64-64-64: "-L[[TC]]/mips64/64/fp64/nan2008"
908// CHECK-BE-NAN64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/fp64/nan2008"
909// CHECK-BE-NAN64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/fp64/nan2008/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000910// CHECK-BE-NAN64-64-64: "[[TC]]/mips64/64/fp64/nan2008{{/|\\\\}}crtend.o"
911// CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/fp64/nan2008/usr/lib{{/|\\\\}}crtn.o"
912//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000913// = Big-endian, mips64r2, ABI n32, hard float
914// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
915// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=n32 -mhard-float \
916// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
917// RUN: | FileCheck --check-prefix=CHECK-BE-HF-64R2-N32 %s
918// CHECK-BE-HF-64R2-N32: "-internal-isystem"
919// CHECK-BE-HF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
920// CHECK-BE-HF-64R2-N32: "-internal-isystem"
921// CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2"
922// CHECK-BE-HF-64R2-N32: "-internal-isystem"
923// CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
924// CHECK-BE-HF-64R2-N32: "-internal-externc-isystem"
925// CHECK-BE-HF-64R2-N32: "[[TC]]/include"
926// CHECK-BE-HF-64R2-N32: "-internal-externc-isystem"
927// CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
928// CHECK-BE-HF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000929// CHECK-BE-HF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000930// CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crt1.o"
931// CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crti.o"
932// CHECK-BE-HF-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000933// CHECK-BE-HF-64R2-N32: "-L[[TC]]/mips64r2"
934// CHECK-BE-HF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2"
935// CHECK-BE-HF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000936// CHECK-BE-HF-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtend.o"
937// CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crtn.o"
938//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000939// = Big-endian, mips64r2, ABI n32, fp64, hard float
940// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
941// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mhard-float \
942// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
943// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-64R2-N32 %s
944// CHECK-BE-HF64-64R2-N32: "-internal-isystem"
945// CHECK-BE-HF64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
946// CHECK-BE-HF64-64R2-N32: "-internal-isystem"
947// CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/fp64"
948// CHECK-BE-HF64-64R2-N32: "-internal-isystem"
949// CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
950// CHECK-BE-HF64-64R2-N32: "-internal-externc-isystem"
951// CHECK-BE-HF64-64R2-N32: "[[TC]]/include"
952// CHECK-BE-HF64-64R2-N32: "-internal-externc-isystem"
953// CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
954// CHECK-BE-HF64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000955// CHECK-BE-HF64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000956// CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/fp64/usr/lib{{/|\\\\}}crt1.o"
957// CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/fp64/usr/lib{{/|\\\\}}crti.o"
958// CHECK-BE-HF64-64R2-N32: "[[TC]]/mips64r2/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000959// CHECK-BE-HF64-64R2-N32: "-L[[TC]]/mips64r2/fp64"
960// CHECK-BE-HF64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/fp64"
961// CHECK-BE-HF64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/fp64/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000962// CHECK-BE-HF64-64R2-N32: "[[TC]]/mips64r2/fp64{{/|\\\\}}crtend.o"
963// CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/fp64/usr/lib{{/|\\\\}}crtn.o"
964//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000965// = Big-endian, mips64r2, ABI n32, soft float
966// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
967// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=n32 -msoft-float \
968// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
969// RUN: | FileCheck --check-prefix=CHECK-BE-SF-64R2-N32 %s
970// CHECK-BE-SF-64R2-N32: "-internal-isystem"
971// CHECK-BE-SF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
972// CHECK-BE-SF-64R2-N32: "-internal-isystem"
973// CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/sof"
974// CHECK-BE-SF-64R2-N32: "-internal-isystem"
975// CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
976// CHECK-BE-SF-64R2-N32: "-internal-externc-isystem"
977// CHECK-BE-SF-64R2-N32: "[[TC]]/include"
978// CHECK-BE-SF-64R2-N32: "-internal-externc-isystem"
979// CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
980// CHECK-BE-SF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000981// CHECK-BE-SF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000982// CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib{{/|\\\\}}crt1.o"
983// CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib{{/|\\\\}}crti.o"
984// CHECK-BE-SF-64R2-N32: "[[TC]]/mips64r2/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000985// CHECK-BE-SF-64R2-N32: "-L[[TC]]/mips64r2/sof"
986// CHECK-BE-SF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/sof"
987// CHECK-BE-SF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000988// CHECK-BE-SF-64R2-N32: "[[TC]]/mips64r2/sof{{/|\\\\}}crtend.o"
989// CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib{{/|\\\\}}crtn.o"
990//
991// = Big-endian, mips64r2, ABI n32, nan2008
992// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
993// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=n32 -mnan=2008 \
994// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
995// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-64R2-N32 %s
996// CHECK-BE-NAN-64R2-N32: "-internal-isystem"
997// CHECK-BE-NAN-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
998// CHECK-BE-NAN-64R2-N32: "-internal-isystem"
999// CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/nan2008"
1000// CHECK-BE-NAN-64R2-N32: "-internal-isystem"
1001// CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1002// CHECK-BE-NAN-64R2-N32: "-internal-externc-isystem"
1003// CHECK-BE-NAN-64R2-N32: "[[TC]]/include"
1004// CHECK-BE-NAN-64R2-N32: "-internal-externc-isystem"
1005// CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1006// CHECK-BE-NAN-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001007// CHECK-BE-NAN-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001008// CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crt1.o"
1009// CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crti.o"
1010// CHECK-BE-NAN-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001011// CHECK-BE-NAN-64R2-N32: "-L[[TC]]/mips64r2/nan2008"
1012// CHECK-BE-NAN-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/nan2008"
1013// CHECK-BE-NAN-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001014// CHECK-BE-NAN-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtend.o"
1015// CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crtn.o"
1016//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001017// = Big-endian, mips64r2, ABI n32, fp64, nan2008
1018// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1019// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mnan=2008 \
1020// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1021// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-64R2-N32 %s
1022// CHECK-BE-NAN64-64R2-N32: "-internal-isystem"
1023// CHECK-BE-NAN64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1024// CHECK-BE-NAN64-64R2-N32: "-internal-isystem"
1025// CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/fp64/nan2008"
1026// CHECK-BE-NAN64-64R2-N32: "-internal-isystem"
1027// CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1028// CHECK-BE-NAN64-64R2-N32: "-internal-externc-isystem"
1029// CHECK-BE-NAN64-64R2-N32: "[[TC]]/include"
1030// CHECK-BE-NAN64-64R2-N32: "-internal-externc-isystem"
1031// CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1032// CHECK-BE-NAN64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001033// CHECK-BE-NAN64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001034// CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/fp64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1035// CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/fp64/nan2008/usr/lib{{/|\\\\}}crti.o"
1036// CHECK-BE-NAN64-64R2-N32: "[[TC]]/mips64r2/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001037// CHECK-BE-NAN64-64R2-N32: "-L[[TC]]/mips64r2/fp64/nan2008"
1038// CHECK-BE-NAN64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/fp64/nan2008"
1039// CHECK-BE-NAN64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/fp64/nan2008/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001040// CHECK-BE-NAN64-64R2-N32: "[[TC]]/mips64r2/fp64/nan2008{{/|\\\\}}crtend.o"
1041// CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/fp64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1042//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001043// = Big-endian, mips64r2, ABI 64, hard float
1044// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1045// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=64 -mhard-float \
1046// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1047// RUN: | FileCheck --check-prefix=CHECK-BE-HF-64R2-64 %s
1048// CHECK-BE-HF-64R2-64: "-internal-isystem"
1049// CHECK-BE-HF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1050// CHECK-BE-HF-64R2-64: "-internal-isystem"
1051// CHECK-BE-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64"
1052// CHECK-BE-HF-64R2-64: "-internal-isystem"
1053// CHECK-BE-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1054// CHECK-BE-HF-64R2-64: "-internal-externc-isystem"
1055// CHECK-BE-HF-64R2-64: "[[TC]]/include"
1056// CHECK-BE-HF-64R2-64: "-internal-externc-isystem"
1057// CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1058// CHECK-BE-HF-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001059// CHECK-BE-HF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001060// CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crt1.o"
1061// CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crti.o"
1062// CHECK-BE-HF-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001063// CHECK-BE-HF-64R2-64: "-L[[TC]]/mips64r2/64"
1064// CHECK-BE-HF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64"
1065// CHECK-BE-HF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001066// CHECK-BE-HF-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtend.o"
1067// CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crtn.o"
1068//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001069// = Big-endian, mips64r2, ABI 64, fp64, hard float
1070// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1071// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=64 -mfp64 -mhard-float \
1072// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1073// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-64R2-64 %s
1074// CHECK-BE-HF64-64R2-64: "-internal-isystem"
1075// CHECK-BE-HF64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1076// CHECK-BE-HF64-64R2-64: "-internal-isystem"
1077// CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/fp64"
1078// CHECK-BE-HF64-64R2-64: "-internal-isystem"
1079// CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1080// CHECK-BE-HF64-64R2-64: "-internal-externc-isystem"
1081// CHECK-BE-HF64-64R2-64: "[[TC]]/include"
1082// CHECK-BE-HF64-64R2-64: "-internal-externc-isystem"
1083// CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1084// CHECK-BE-HF64-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001085// CHECK-BE-HF64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001086// CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/fp64/usr/lib{{/|\\\\}}crt1.o"
1087// CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/fp64/usr/lib{{/|\\\\}}crti.o"
1088// CHECK-BE-HF64-64R2-64: "[[TC]]/mips64r2/64/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001089// CHECK-BE-HF64-64R2-64: "-L[[TC]]/mips64r2/64/fp64"
1090// CHECK-BE-HF64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/fp64"
1091// CHECK-BE-HF64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/fp64/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001092// CHECK-BE-HF64-64R2-64: "[[TC]]/mips64r2/64/fp64{{/|\\\\}}crtend.o"
1093// CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/fp64/usr/lib{{/|\\\\}}crtn.o"
1094//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001095// = Big-endian, mips64r2, ABI 64, soft float
1096// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1097// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=64 -msoft-float \
1098// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1099// RUN: | FileCheck --check-prefix=CHECK-BE-SF-64R2-64 %s
1100// CHECK-BE-SF-64R2-64: "-internal-isystem"
1101// CHECK-BE-SF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1102// CHECK-BE-SF-64R2-64: "-internal-isystem"
1103// CHECK-BE-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/sof"
1104// CHECK-BE-SF-64R2-64: "-internal-isystem"
1105// CHECK-BE-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1106// CHECK-BE-SF-64R2-64: "-internal-externc-isystem"
1107// CHECK-BE-SF-64R2-64: "[[TC]]/include"
1108// CHECK-BE-SF-64R2-64: "-internal-externc-isystem"
1109// CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1110// CHECK-BE-SF-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001111// CHECK-BE-SF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001112// CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib{{/|\\\\}}crt1.o"
1113// CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib{{/|\\\\}}crti.o"
1114// CHECK-BE-SF-64R2-64: "[[TC]]/mips64r2/64/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001115// CHECK-BE-SF-64R2-64: "-L[[TC]]/mips64r2/64/sof"
1116// CHECK-BE-SF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/sof"
1117// CHECK-BE-SF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001118// CHECK-BE-SF-64R2-64: "[[TC]]/mips64r2/64/sof{{/|\\\\}}crtend.o"
1119// CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib{{/|\\\\}}crtn.o"
1120//
1121// = Big-endian, mips64r2, ABI 64, nan2008
1122// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1123// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=64 -mnan=2008 \
1124// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1125// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-64R2-64 %s
1126// CHECK-BE-NAN-64R2-64: "-internal-isystem"
1127// CHECK-BE-NAN-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1128// CHECK-BE-NAN-64R2-64: "-internal-isystem"
1129// CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/nan2008"
1130// CHECK-BE-NAN-64R2-64: "-internal-isystem"
1131// CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1132// CHECK-BE-NAN-64R2-64: "-internal-externc-isystem"
1133// CHECK-BE-NAN-64R2-64: "[[TC]]/include"
1134// CHECK-BE-NAN-64R2-64: "-internal-externc-isystem"
1135// CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1136// CHECK-BE-NAN-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001137// CHECK-BE-NAN-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001138// CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1139// CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1140// CHECK-BE-NAN-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001141// CHECK-BE-NAN-64R2-64: "-L[[TC]]/mips64r2/64/nan2008"
1142// CHECK-BE-NAN-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/nan2008"
1143// CHECK-BE-NAN-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001144// CHECK-BE-NAN-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtend.o"
1145// CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1146//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001147// = Big-endian, mips64r2, ABI 64, fp64, nan2008
1148// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1149// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=64 -mfp64 -mnan=2008 \
1150// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1151// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-64R2-64 %s
1152// CHECK-BE-NAN64-64R2-64: "-internal-isystem"
1153// CHECK-BE-NAN64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1154// CHECK-BE-NAN64-64R2-64: "-internal-isystem"
1155// CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/fp64/nan2008"
1156// CHECK-BE-NAN64-64R2-64: "-internal-isystem"
1157// CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1158// CHECK-BE-NAN64-64R2-64: "-internal-externc-isystem"
1159// CHECK-BE-NAN64-64R2-64: "[[TC]]/include"
1160// CHECK-BE-NAN64-64R2-64: "-internal-externc-isystem"
1161// CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1162// CHECK-BE-NAN64-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001163// CHECK-BE-NAN64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001164// CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/fp64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1165// CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/fp64/nan2008/usr/lib{{/|\\\\}}crti.o"
1166// CHECK-BE-NAN64-64R2-64: "[[TC]]/mips64r2/64/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001167// CHECK-BE-NAN64-64R2-64: "-L[[TC]]/mips64r2/64/fp64/nan2008"
1168// CHECK-BE-NAN64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/fp64/nan2008"
1169// CHECK-BE-NAN64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/fp64/nan2008/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001170// CHECK-BE-NAN64-64R2-64: "[[TC]]/mips64r2/64/fp64/nan2008{{/|\\\\}}crtend.o"
1171// CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/fp64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1172//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001173// = Little-endian, mips32, hard float
1174// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1175// RUN: --target=mipsel-linux-gnu -mips32 -mhard-float \
1176// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1177// RUN: | FileCheck --check-prefix=CHECK-EL-HF-32 %s
1178// CHECK-EL-HF-32: "-internal-isystem"
1179// CHECK-EL-HF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1180// CHECK-EL-HF-32: "-internal-isystem"
1181// CHECK-EL-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el"
1182// CHECK-EL-HF-32: "-internal-isystem"
1183// CHECK-EL-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1184// CHECK-EL-HF-32: "-internal-externc-isystem"
1185// CHECK-EL-HF-32: "[[TC]]/include"
1186// CHECK-EL-HF-32: "-internal-externc-isystem"
1187// CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/usr/include"
1188// CHECK-EL-HF-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001189// CHECK-EL-HF-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001190// CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1191// CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crti.o"
1192// CHECK-EL-HF-32: "[[TC]]/mips32/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001193// CHECK-EL-HF-32: "-L[[TC]]/mips32/el"
1194// CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el"
1195// CHECK-EL-HF-32: "-L[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001196// CHECK-EL-HF-32: "[[TC]]/mips32/el{{/|\\\\}}crtend.o"
1197// CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1198//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001199// = Little-endian, mips32, fp64, hard float
1200// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1201// RUN: --target=mipsel-linux-gnu -mips32 -mfp64 -mhard-float \
1202// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1203// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-32 %s
1204// CHECK-EL-HF64-32: "-internal-isystem"
1205// CHECK-EL-HF64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1206// CHECK-EL-HF64-32: "-internal-isystem"
1207// CHECK-EL-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el/fp64"
1208// CHECK-EL-HF64-32: "-internal-isystem"
1209// CHECK-EL-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1210// CHECK-EL-HF64-32: "-internal-externc-isystem"
1211// CHECK-EL-HF64-32: "[[TC]]/include"
1212// CHECK-EL-HF64-32: "-internal-externc-isystem"
1213// CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/usr/include"
1214// CHECK-EL-HF64-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001215// CHECK-EL-HF64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001216// CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/mips32/el/fp64/usr/lib/../lib{{/|\\\\}}crt1.o"
1217// CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/mips32/el/fp64/usr/lib/../lib{{/|\\\\}}crti.o"
1218// CHECK-EL-HF64-32: "[[TC]]/mips32/el/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001219// CHECK-EL-HF64-32: "-L[[TC]]/mips32/el/fp64"
1220// CHECK-EL-HF64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el/fp64"
1221// CHECK-EL-HF64-32: "-L[[TC]]/../../../../sysroot/mips32/el/fp64/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001222// CHECK-EL-HF64-32: "[[TC]]/mips32/el/fp64{{/|\\\\}}crtend.o"
1223// CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/mips32/el/fp64/usr/lib/../lib{{/|\\\\}}crtn.o"
1224//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001225// = Little-endian, mips32, soft float
1226// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1227// RUN: --target=mipsel-linux-gnu -mips32 -msoft-float \
1228// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1229// RUN: | FileCheck --check-prefix=CHECK-EL-SF-32 %s
1230// CHECK-EL-SF-32: "-internal-isystem"
1231// CHECK-EL-SF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1232// CHECK-EL-SF-32: "-internal-isystem"
1233// CHECK-EL-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el/sof"
1234// CHECK-EL-SF-32: "-internal-isystem"
1235// CHECK-EL-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1236// CHECK-EL-SF-32: "-internal-externc-isystem"
1237// CHECK-EL-SF-32: "[[TC]]/include"
1238// CHECK-EL-SF-32: "-internal-externc-isystem"
1239// CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/usr/include"
1240// CHECK-EL-SF-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001241// CHECK-EL-SF-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001242// CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1243// CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1244// CHECK-EL-SF-32: "[[TC]]/mips32/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001245// CHECK-EL-SF-32: "-L[[TC]]/mips32/el/sof"
1246// CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el/sof"
1247// CHECK-EL-SF-32: "-L[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001248// CHECK-EL-SF-32: "[[TC]]/mips32/el/sof{{/|\\\\}}crtend.o"
1249// CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1250//
1251// = Little-endian, mips32 / mips16, hard float
1252// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1253// RUN: --target=mipsel-linux-gnu -mips32 -mips16 -mhard-float \
1254// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1255// RUN: | FileCheck --check-prefix=CHECK-EL-HF-16 %s
1256// CHECK-EL-HF-16: "-internal-isystem"
1257// CHECK-EL-HF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1258// CHECK-EL-HF-16: "-internal-isystem"
1259// CHECK-EL-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el"
1260// CHECK-EL-HF-16: "-internal-isystem"
1261// CHECK-EL-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1262// CHECK-EL-HF-16: "-internal-externc-isystem"
1263// CHECK-EL-HF-16: "[[TC]]/include"
1264// CHECK-EL-HF-16: "-internal-externc-isystem"
1265// CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/usr/include"
1266// CHECK-EL-HF-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001267// CHECK-EL-HF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001268// CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1269// CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
1270// CHECK-EL-HF-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001271// CHECK-EL-HF-16: "-L[[TC]]/mips32/mips16/el"
1272// CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el"
1273// CHECK-EL-HF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001274// CHECK-EL-HF-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtend.o"
1275// CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1276//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001277// = Little-endian, mips32 / mips16, fp64, hard float
1278// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1279// RUN: --target=mipsel-linux-gnu -mips32 -mips16 -mfp64 -mhard-float \
1280// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1281// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-16 %s
1282// CHECK-EL-HF64-16: "-internal-isystem"
1283// CHECK-EL-HF64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1284// CHECK-EL-HF64-16: "-internal-isystem"
1285// CHECK-EL-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el/fp64"
1286// CHECK-EL-HF64-16: "-internal-isystem"
1287// CHECK-EL-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1288// CHECK-EL-HF64-16: "-internal-externc-isystem"
1289// CHECK-EL-HF64-16: "[[TC]]/include"
1290// CHECK-EL-HF64-16: "-internal-externc-isystem"
1291// CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/usr/include"
1292// CHECK-EL-HF64-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001293// CHECK-EL-HF64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001294// CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/fp64/usr/lib/../lib{{/|\\\\}}crt1.o"
1295// CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/fp64/usr/lib/../lib{{/|\\\\}}crti.o"
1296// CHECK-EL-HF64-16: "[[TC]]/mips32/mips16/el/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001297// CHECK-EL-HF64-16: "-L[[TC]]/mips32/mips16/el/fp64"
1298// CHECK-EL-HF64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el/fp64"
1299// CHECK-EL-HF64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/fp64/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001300// CHECK-EL-HF64-16: "[[TC]]/mips32/mips16/el/fp64{{/|\\\\}}crtend.o"
1301// CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/fp64/usr/lib/../lib{{/|\\\\}}crtn.o"
1302//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001303// = Little-endian, mips32 / mips16, soft float
1304// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1305// RUN: --target=mipsel-linux-gnu -mips32 -mips16 -msoft-float \
1306// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1307// RUN: | FileCheck --check-prefix=CHECK-EL-SF-16 %s
1308// CHECK-EL-SF-16: "-internal-isystem"
1309// CHECK-EL-SF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1310// CHECK-EL-SF-16: "-internal-isystem"
1311// CHECK-EL-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el/sof"
1312// CHECK-EL-SF-16: "-internal-isystem"
1313// CHECK-EL-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1314// CHECK-EL-SF-16: "-internal-externc-isystem"
1315// CHECK-EL-SF-16: "[[TC]]/include"
1316// CHECK-EL-SF-16: "-internal-externc-isystem"
1317// CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/usr/include"
1318// CHECK-EL-SF-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001319// CHECK-EL-SF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001320// CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1321// CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1322// CHECK-EL-SF-16: "[[TC]]/mips32/mips16/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001323// CHECK-EL-SF-16: "-L[[TC]]/mips32/mips16/el/sof"
1324// CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el/sof"
1325// CHECK-EL-SF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001326// CHECK-EL-SF-16: "[[TC]]/mips32/mips16/el/sof{{/|\\\\}}crtend.o"
1327// CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1328//
1329// = Little-endian, mips32 / mips16, nan2008
1330// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1331// RUN: --target=mipsel-linux-gnu -mips32 -mips16 -mnan=2008 \
1332// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1333// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-16 %s
1334// CHECK-EL-NAN-16: "-internal-isystem"
1335// CHECK-EL-NAN-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1336// CHECK-EL-NAN-16: "-internal-isystem"
1337// CHECK-EL-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el/nan2008"
1338// CHECK-EL-NAN-16: "-internal-isystem"
1339// CHECK-EL-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1340// CHECK-EL-NAN-16: "-internal-externc-isystem"
1341// CHECK-EL-NAN-16: "[[TC]]/include"
1342// CHECK-EL-NAN-16: "-internal-externc-isystem"
1343// CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/usr/include"
1344// CHECK-EL-NAN-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001345// CHECK-EL-NAN-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001346// CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1347// CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1348// CHECK-EL-NAN-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001349// CHECK-EL-NAN-16: "-L[[TC]]/mips32/mips16/el/nan2008"
1350// CHECK-EL-NAN-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el/nan2008"
1351// CHECK-EL-NAN-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001352// CHECK-EL-NAN-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtend.o"
1353// CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1354//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001355// = Little-endian, mips32 / mips16, fp64, nan2008
1356// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1357// RUN: --target=mipsel-linux-gnu -mips32 -mips16 -mfp64 -mnan=2008 \
1358// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1359// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-16 %s
1360// CHECK-EL-NAN64-16: "-internal-isystem"
1361// CHECK-EL-NAN64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1362// CHECK-EL-NAN64-16: "-internal-isystem"
1363// CHECK-EL-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el/fp64/nan2008"
1364// CHECK-EL-NAN64-16: "-internal-isystem"
1365// CHECK-EL-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1366// CHECK-EL-NAN64-16: "-internal-externc-isystem"
1367// CHECK-EL-NAN64-16: "[[TC]]/include"
1368// CHECK-EL-NAN64-16: "-internal-externc-isystem"
1369// CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/usr/include"
1370// CHECK-EL-NAN64-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001371// CHECK-EL-NAN64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001372// CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1373// CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1374// CHECK-EL-NAN64-16: "[[TC]]/mips32/mips16/el/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001375// CHECK-EL-NAN64-16: "-L[[TC]]/mips32/mips16/el/fp64/nan2008"
1376// CHECK-EL-NAN64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el/fp64/nan2008"
1377// CHECK-EL-NAN64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/fp64/nan2008/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001378// CHECK-EL-NAN64-16: "[[TC]]/mips32/mips16/el/fp64/nan2008{{/|\\\\}}crtend.o"
1379// CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1380//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001381// = Little-endian, mips32, nan2008
1382// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1383// RUN: --target=mipsel-linux-gnu -mips32 -mnan=2008 \
1384// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1385// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-32 %s
1386// CHECK-EL-NAN-32: "-internal-isystem"
1387// CHECK-EL-NAN-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1388// CHECK-EL-NAN-32: "-internal-isystem"
1389// CHECK-EL-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el/nan2008"
1390// CHECK-EL-NAN-32: "-internal-isystem"
1391// CHECK-EL-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1392// CHECK-EL-NAN-32: "-internal-externc-isystem"
1393// CHECK-EL-NAN-32: "[[TC]]/include"
1394// CHECK-EL-NAN-32: "-internal-externc-isystem"
1395// CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/usr/include"
1396// CHECK-EL-NAN-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001397// CHECK-EL-NAN-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001398// CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1399// CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1400// CHECK-EL-NAN-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001401// CHECK-EL-NAN-32: "-L[[TC]]/mips32/el/nan2008"
1402// CHECK-EL-NAN-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el/nan2008"
1403// CHECK-EL-NAN-32: "-L[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001404// CHECK-EL-NAN-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtend.o"
1405// CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1406//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001407// = Little-endian, mips32, fp64, nan2008
1408// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1409// RUN: --target=mipsel-linux-gnu -mips32 -mfp64 -mnan=2008 \
1410// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1411// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-32 %s
1412// CHECK-EL-NAN64-32: "-internal-isystem"
1413// CHECK-EL-NAN64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1414// CHECK-EL-NAN64-32: "-internal-isystem"
1415// CHECK-EL-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el/fp64/nan2008"
1416// CHECK-EL-NAN64-32: "-internal-isystem"
1417// CHECK-EL-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1418// CHECK-EL-NAN64-32: "-internal-externc-isystem"
1419// CHECK-EL-NAN64-32: "[[TC]]/include"
1420// CHECK-EL-NAN64-32: "-internal-externc-isystem"
1421// CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/usr/include"
1422// CHECK-EL-NAN64-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001423// CHECK-EL-NAN64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001424// CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/mips32/el/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1425// CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/mips32/el/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1426// CHECK-EL-NAN64-32: "[[TC]]/mips32/el/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001427// CHECK-EL-NAN64-32: "-L[[TC]]/mips32/el/fp64/nan2008"
1428// CHECK-EL-NAN64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el/fp64/nan2008"
1429// CHECK-EL-NAN64-32: "-L[[TC]]/../../../../sysroot/mips32/el/fp64/nan2008/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001430// CHECK-EL-NAN64-32: "[[TC]]/mips32/el/fp64/nan2008{{/|\\\\}}crtend.o"
1431// CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/mips32/el/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1432//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001433// = Little-endian, mips32r2, hard float
1434// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1435// RUN: --target=mipsel-linux-gnu -mips32r2 -mhard-float \
1436// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1437// RUN: | FileCheck --check-prefix=CHECK-EL-HF-32R2 %s
1438// CHECK-EL-HF-32R2: "-internal-isystem"
1439// CHECK-EL-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1440// CHECK-EL-HF-32R2: "-internal-isystem"
1441// CHECK-EL-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el"
1442// CHECK-EL-HF-32R2: "-internal-isystem"
1443// CHECK-EL-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1444// CHECK-EL-HF-32R2: "-internal-externc-isystem"
1445// CHECK-EL-HF-32R2: "[[TC]]/include"
1446// CHECK-EL-HF-32R2: "-internal-externc-isystem"
1447// CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/usr/include"
1448// CHECK-EL-HF-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001449// CHECK-EL-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot/el"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001450// CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1451// CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crti.o"
1452// CHECK-EL-HF-32R2: "[[TC]]/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001453// CHECK-EL-HF-32R2: "-L[[TC]]/el"
1454// CHECK-EL-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el"
1455// CHECK-EL-HF-32R2: "-L[[TC]]/../../../../sysroot/el/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001456// CHECK-EL-HF-32R2: "[[TC]]/el{{/|\\\\}}crtend.o"
1457// CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1458//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001459// = Little-endian, mips32r2, fp64, hard float
1460// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1461// RUN: --target=mipsel-linux-gnu -mips32r2 -mfp64 -mhard-float \
1462// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1463// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-32R2 %s
1464// CHECK-EL-HF64-32R2: "-internal-isystem"
1465// CHECK-EL-HF64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1466// CHECK-EL-HF64-32R2: "-internal-isystem"
1467// CHECK-EL-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/fp64"
1468// CHECK-EL-HF64-32R2: "-internal-isystem"
1469// CHECK-EL-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1470// CHECK-EL-HF64-32R2: "-internal-externc-isystem"
1471// CHECK-EL-HF64-32R2: "[[TC]]/include"
1472// CHECK-EL-HF64-32R2: "-internal-externc-isystem"
1473// CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/usr/include"
1474// CHECK-EL-HF64-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001475// CHECK-EL-HF64-32R2: "--sysroot=[[TC]]/../../../../sysroot/el/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001476// CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/el/fp64/usr/lib/../lib{{/|\\\\}}crt1.o"
1477// CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/el/fp64/usr/lib/../lib{{/|\\\\}}crti.o"
1478// CHECK-EL-HF64-32R2: "[[TC]]/el/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001479// CHECK-EL-HF64-32R2: "-L[[TC]]/el/fp64"
1480// CHECK-EL-HF64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/fp64"
1481// CHECK-EL-HF64-32R2: "-L[[TC]]/../../../../sysroot/el/fp64/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001482// CHECK-EL-HF64-32R2: "[[TC]]/el/fp64{{/|\\\\}}crtend.o"
1483// CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/el/fp64/usr/lib/../lib{{/|\\\\}}crtn.o"
1484//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001485// = Little-endian, mips32r2, soft float
1486// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1487// RUN: --target=mipsel-linux-gnu -mips32r2 -msoft-float \
1488// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1489// RUN: | FileCheck --check-prefix=CHECK-EL-SF-32R2 %s
1490// CHECK-EL-SF-32R2: "-internal-isystem"
1491// CHECK-EL-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1492// CHECK-EL-SF-32R2: "-internal-isystem"
1493// CHECK-EL-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/sof"
1494// CHECK-EL-SF-32R2: "-internal-isystem"
1495// CHECK-EL-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1496// CHECK-EL-SF-32R2: "-internal-externc-isystem"
1497// CHECK-EL-SF-32R2: "[[TC]]/include"
1498// CHECK-EL-SF-32R2: "-internal-externc-isystem"
1499// CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/usr/include"
1500// CHECK-EL-SF-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001501// CHECK-EL-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/el/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001502// CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1503// CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1504// CHECK-EL-SF-32R2: "[[TC]]/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001505// CHECK-EL-SF-32R2: "-L[[TC]]/el/sof"
1506// CHECK-EL-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/sof"
1507// CHECK-EL-SF-32R2: "-L[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001508// CHECK-EL-SF-32R2: "[[TC]]/el/sof{{/|\\\\}}crtend.o"
1509// CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1510//
1511// = Little-endian, mips32r2 / mips16, hard float
1512// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1513// RUN: --target=mipsel-linux-gnu -mips32r2 -mips16 -mhard-float \
1514// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1515// RUN: | FileCheck --check-prefix=CHECK-EL-HF-16R2 %s
1516// CHECK-EL-HF-16R2: "-internal-isystem"
1517// CHECK-EL-HF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1518// CHECK-EL-HF-16R2: "-internal-isystem"
1519// CHECK-EL-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el"
1520// CHECK-EL-HF-16R2: "-internal-isystem"
1521// CHECK-EL-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1522// CHECK-EL-HF-16R2: "-internal-externc-isystem"
1523// CHECK-EL-HF-16R2: "[[TC]]/include"
1524// CHECK-EL-HF-16R2: "-internal-externc-isystem"
1525// CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/usr/include"
1526// CHECK-EL-HF-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001527// CHECK-EL-HF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001528// CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1529// CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
1530// CHECK-EL-HF-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001531// CHECK-EL-HF-16R2: "-L[[TC]]/mips16/el"
1532// CHECK-EL-HF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el"
1533// CHECK-EL-HF-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001534// CHECK-EL-HF-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtend.o"
1535// CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1536//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001537// = Little-endian, mips32r2 / mips16, fp64, hard float
1538// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1539// RUN: --target=mipsel-linux-gnu -mips32r2 -mips16 -mfp64 -mhard-float \
1540// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1541// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-16R2 %s
1542// CHECK-EL-HF64-16R2: "-internal-isystem"
1543// CHECK-EL-HF64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1544// CHECK-EL-HF64-16R2: "-internal-isystem"
1545// CHECK-EL-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el/fp64"
1546// CHECK-EL-HF64-16R2: "-internal-isystem"
1547// CHECK-EL-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1548// CHECK-EL-HF64-16R2: "-internal-externc-isystem"
1549// CHECK-EL-HF64-16R2: "[[TC]]/include"
1550// CHECK-EL-HF64-16R2: "-internal-externc-isystem"
1551// CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/usr/include"
1552// CHECK-EL-HF64-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001553// CHECK-EL-HF64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001554// CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/el/fp64/usr/lib/../lib{{/|\\\\}}crt1.o"
1555// CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/el/fp64/usr/lib/../lib{{/|\\\\}}crti.o"
1556// CHECK-EL-HF64-16R2: "[[TC]]/mips16/el/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001557// CHECK-EL-HF64-16R2: "-L[[TC]]/mips16/el/fp64"
1558// CHECK-EL-HF64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el/fp64"
1559// CHECK-EL-HF64-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/fp64/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001560// CHECK-EL-HF64-16R2: "[[TC]]/mips16/el/fp64{{/|\\\\}}crtend.o"
1561// CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/el/fp64/usr/lib/../lib{{/|\\\\}}crtn.o"
1562//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001563// = Little-endian, mips32r2 / mips16, soft float
1564// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1565// RUN: --target=mipsel-linux-gnu -mips32r2 -mips16 -msoft-float \
1566// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1567// RUN: | FileCheck --check-prefix=CHECK-EL-SF-16R2 %s
1568// CHECK-EL-SF-16R2: "-internal-isystem"
1569// CHECK-EL-SF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1570// CHECK-EL-SF-16R2: "-internal-isystem"
1571// CHECK-EL-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el/sof"
1572// CHECK-EL-SF-16R2: "-internal-isystem"
1573// CHECK-EL-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1574// CHECK-EL-SF-16R2: "-internal-externc-isystem"
1575// CHECK-EL-SF-16R2: "[[TC]]/include"
1576// CHECK-EL-SF-16R2: "-internal-externc-isystem"
1577// CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/usr/include"
1578// CHECK-EL-SF-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001579// CHECK-EL-SF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001580// CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1581// CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1582// CHECK-EL-SF-16R2: "[[TC]]/mips16/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001583// CHECK-EL-SF-16R2: "-L[[TC]]/mips16/el/sof"
1584// CHECK-EL-SF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el/sof"
1585// CHECK-EL-SF-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001586// CHECK-EL-SF-16R2: "[[TC]]/mips16/el/sof{{/|\\\\}}crtend.o"
1587// CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1588//
1589// = Little-endian, mips32r2 / mips16, nan2008
1590// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1591// RUN: --target=mipsel-linux-gnu -mips32r2 -mips16 -mnan=2008 \
1592// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1593// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-16R2 %s
1594// CHECK-EL-NAN-16R2: "-internal-isystem"
1595// CHECK-EL-NAN-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1596// CHECK-EL-NAN-16R2: "-internal-isystem"
1597// CHECK-EL-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el/nan2008"
1598// CHECK-EL-NAN-16R2: "-internal-isystem"
1599// CHECK-EL-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1600// CHECK-EL-NAN-16R2: "-internal-externc-isystem"
1601// CHECK-EL-NAN-16R2: "[[TC]]/include"
1602// CHECK-EL-NAN-16R2: "-internal-externc-isystem"
1603// CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/usr/include"
1604// CHECK-EL-NAN-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001605// CHECK-EL-NAN-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001606// CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1607// CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1608// CHECK-EL-NAN-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001609// CHECK-EL-NAN-16R2: "-L[[TC]]/mips16/el/nan2008"
1610// CHECK-EL-NAN-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el/nan2008"
1611// CHECK-EL-NAN-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001612// CHECK-EL-NAN-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtend.o"
1613// CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1614//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001615// = Little-endian, mips32r2 / mips16, fp64, nan2008
1616// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1617// RUN: --target=mipsel-linux-gnu -mips32r2 -mips16 -mfp64 -mnan=2008 \
1618// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1619// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-16R2 %s
1620// CHECK-EL-NAN64-16R2: "-internal-isystem"
1621// CHECK-EL-NAN64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1622// CHECK-EL-NAN64-16R2: "-internal-isystem"
1623// CHECK-EL-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el/fp64/nan2008"
1624// CHECK-EL-NAN64-16R2: "-internal-isystem"
1625// CHECK-EL-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1626// CHECK-EL-NAN64-16R2: "-internal-externc-isystem"
1627// CHECK-EL-NAN64-16R2: "[[TC]]/include"
1628// CHECK-EL-NAN64-16R2: "-internal-externc-isystem"
1629// CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/usr/include"
1630// CHECK-EL-NAN64-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001631// CHECK-EL-NAN64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001632// CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/el/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1633// CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/el/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1634// CHECK-EL-NAN64-16R2: "[[TC]]/mips16/el/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001635// CHECK-EL-NAN64-16R2: "-L[[TC]]/mips16/el/fp64/nan2008"
1636// CHECK-EL-NAN64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el/fp64/nan2008"
1637// CHECK-EL-NAN64-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/fp64/nan2008/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001638// CHECK-EL-NAN64-16R2: "[[TC]]/mips16/el/fp64/nan2008{{/|\\\\}}crtend.o"
1639// CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/el/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1640//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001641// = Little-endian, mips32r2, nan2008
1642// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1643// RUN: --target=mipsel-linux-gnu -mips32r2 -mnan=2008 \
1644// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1645// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-32R2 %s
1646// CHECK-EL-NAN-32R2: "-internal-isystem"
1647// CHECK-EL-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1648// CHECK-EL-NAN-32R2: "-internal-isystem"
1649// CHECK-EL-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/nan2008"
1650// CHECK-EL-NAN-32R2: "-internal-isystem"
1651// CHECK-EL-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1652// CHECK-EL-NAN-32R2: "-internal-externc-isystem"
1653// CHECK-EL-NAN-32R2: "[[TC]]/include"
1654// CHECK-EL-NAN-32R2: "-internal-externc-isystem"
1655// CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/usr/include"
1656// CHECK-EL-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001657// CHECK-EL-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/el/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001658// CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1659// CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1660// CHECK-EL-NAN-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001661// CHECK-EL-NAN-32R2: "-L[[TC]]/el/nan2008"
1662// CHECK-EL-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/nan2008"
1663// CHECK-EL-NAN-32R2: "-L[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001664// CHECK-EL-NAN-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtend.o"
1665// CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1666//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001667// = Little-endian, mips32r2, fp64, nan2008
1668// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1669// RUN: --target=mipsel-linux-gnu -mips32r2 -mfp64 -mnan=2008 \
1670// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1671// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-32R2 %s
1672// CHECK-EL-NAN64-32R2: "-internal-isystem"
1673// CHECK-EL-NAN64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1674// CHECK-EL-NAN64-32R2: "-internal-isystem"
1675// CHECK-EL-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/fp64/nan2008"
1676// CHECK-EL-NAN64-32R2: "-internal-isystem"
1677// CHECK-EL-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1678// CHECK-EL-NAN64-32R2: "-internal-externc-isystem"
1679// CHECK-EL-NAN64-32R2: "[[TC]]/include"
1680// CHECK-EL-NAN64-32R2: "-internal-externc-isystem"
1681// CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/usr/include"
1682// CHECK-EL-NAN64-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001683// CHECK-EL-NAN64-32R2: "--sysroot=[[TC]]/../../../../sysroot/el/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001684// CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/el/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1685// CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/el/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1686// CHECK-EL-NAN64-32R2: "[[TC]]/el/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001687// CHECK-EL-NAN64-32R2: "-L[[TC]]/el/fp64/nan2008"
1688// CHECK-EL-NAN64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/fp64/nan2008"
1689// CHECK-EL-NAN64-32R2: "-L[[TC]]/../../../../sysroot/el/fp64/nan2008/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001690// CHECK-EL-NAN64-32R2: "[[TC]]/el/fp64/nan2008{{/|\\\\}}crtend.o"
1691// CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/el/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1692//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001693// = Little-endian, micromips, hard float
1694// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1695// RUN: --target=mipsel-linux-gnu -mmicromips -mhard-float \
1696// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1697// RUN: | FileCheck --check-prefix=CHECK-EL-HF-MM %s
1698// CHECK-EL-HF-MM: "-internal-isystem"
1699// CHECK-EL-HF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1700// CHECK-EL-HF-MM: "-internal-isystem"
1701// CHECK-EL-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el"
1702// CHECK-EL-HF-MM: "-internal-isystem"
1703// CHECK-EL-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1704// CHECK-EL-HF-MM: "-internal-externc-isystem"
1705// CHECK-EL-HF-MM: "[[TC]]/include"
1706// CHECK-EL-HF-MM: "-internal-externc-isystem"
1707// CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/usr/include"
1708// CHECK-EL-HF-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001709// CHECK-EL-HF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001710// CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1711// CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crti.o"
1712// CHECK-EL-HF-MM: "[[TC]]/micromips/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001713// CHECK-EL-HF-MM: "-L[[TC]]/micromips/el"
1714// CHECK-EL-HF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el"
1715// CHECK-EL-HF-MM: "-L[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001716// CHECK-EL-HF-MM: "[[TC]]/micromips/el{{/|\\\\}}crtend.o"
1717// CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1718//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001719// = Little-endian, micromips, fp64, hard float
1720// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1721// RUN: --target=mipsel-linux-gnu -mmicromips -mfp64 -mhard-float \
1722// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1723// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-MM %s
1724// CHECK-EL-HF64-MM: "-internal-isystem"
1725// CHECK-EL-HF64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1726// CHECK-EL-HF64-MM: "-internal-isystem"
1727// CHECK-EL-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el/fp64"
1728// CHECK-EL-HF64-MM: "-internal-isystem"
1729// CHECK-EL-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1730// CHECK-EL-HF64-MM: "-internal-externc-isystem"
1731// CHECK-EL-HF64-MM: "[[TC]]/include"
1732// CHECK-EL-HF64-MM: "-internal-externc-isystem"
1733// CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/usr/include"
1734// CHECK-EL-HF64-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001735// CHECK-EL-HF64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001736// CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/micromips/el/fp64/usr/lib/../lib{{/|\\\\}}crt1.o"
1737// CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/micromips/el/fp64/usr/lib/../lib{{/|\\\\}}crti.o"
1738// CHECK-EL-HF64-MM: "[[TC]]/micromips/el/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001739// CHECK-EL-HF64-MM: "-L[[TC]]/micromips/el/fp64"
1740// CHECK-EL-HF64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el/fp64"
1741// CHECK-EL-HF64-MM: "-L[[TC]]/../../../../sysroot/micromips/el/fp64/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001742// CHECK-EL-HF64-MM: "[[TC]]/micromips/el/fp64{{/|\\\\}}crtend.o"
1743// CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/micromips/el/fp64/usr/lib/../lib{{/|\\\\}}crtn.o"
1744//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001745// = Little-endian, micromips, soft float
1746// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1747// RUN: --target=mipsel-linux-gnu -mmicromips -msoft-float \
1748// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1749// RUN: | FileCheck --check-prefix=CHECK-EL-SF-MM %s
1750// CHECK-EL-SF-MM: "-internal-isystem"
1751// CHECK-EL-SF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1752// CHECK-EL-SF-MM: "-internal-isystem"
1753// CHECK-EL-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el/sof"
1754// CHECK-EL-SF-MM: "-internal-isystem"
1755// CHECK-EL-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1756// CHECK-EL-SF-MM: "-internal-externc-isystem"
1757// CHECK-EL-SF-MM: "[[TC]]/include"
1758// CHECK-EL-SF-MM: "-internal-externc-isystem"
1759// CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/usr/include"
1760// CHECK-EL-SF-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001761// CHECK-EL-SF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001762// CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1763// CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1764// CHECK-EL-SF-MM: "[[TC]]/micromips/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001765// CHECK-EL-SF-MM: "-L[[TC]]/micromips/el/sof"
1766// CHECK-EL-SF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el/sof"
1767// CHECK-EL-SF-MM: "-L[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001768// CHECK-EL-SF-MM: "[[TC]]/micromips/el/sof{{/|\\\\}}crtend.o"
1769// CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1770//
1771// = Little-endian, micromips, nan2008
1772// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1773// RUN: --target=mipsel-linux-gnu -mmicromips -mnan=2008 \
1774// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1775// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-MM %s
1776// CHECK-EL-NAN-MM: "-internal-isystem"
1777// CHECK-EL-NAN-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1778// CHECK-EL-NAN-MM: "-internal-isystem"
1779// CHECK-EL-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el/nan2008"
1780// CHECK-EL-NAN-MM: "-internal-isystem"
1781// CHECK-EL-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1782// CHECK-EL-NAN-MM: "-internal-externc-isystem"
1783// CHECK-EL-NAN-MM: "[[TC]]/include"
1784// CHECK-EL-NAN-MM: "-internal-externc-isystem"
1785// CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/usr/include"
1786// CHECK-EL-NAN-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001787// CHECK-EL-NAN-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001788// CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1789// CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1790// CHECK-EL-NAN-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001791// CHECK-EL-NAN-MM: "-L[[TC]]/micromips/el/nan2008"
1792// CHECK-EL-NAN-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el/nan2008"
1793// CHECK-EL-NAN-MM: "-L[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001794// CHECK-EL-NAN-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtend.o"
1795// CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1796//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001797// = Little-endian, micromips, fp64, nan2008
1798// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1799// RUN: --target=mipsel-linux-gnu -mmicromips -mfp64 -mnan=2008 \
1800// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1801// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-MM %s
1802// CHECK-EL-NAN64-MM: "-internal-isystem"
1803// CHECK-EL-NAN64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1804// CHECK-EL-NAN64-MM: "-internal-isystem"
1805// CHECK-EL-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el/fp64/nan2008"
1806// CHECK-EL-NAN64-MM: "-internal-isystem"
1807// CHECK-EL-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1808// CHECK-EL-NAN64-MM: "-internal-externc-isystem"
1809// CHECK-EL-NAN64-MM: "[[TC]]/include"
1810// CHECK-EL-NAN64-MM: "-internal-externc-isystem"
1811// CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/usr/include"
1812// CHECK-EL-NAN64-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001813// CHECK-EL-NAN64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001814// CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/el/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1815// CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/el/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1816// CHECK-EL-NAN64-MM: "[[TC]]/micromips/el/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001817// CHECK-EL-NAN64-MM: "-L[[TC]]/micromips/el/fp64/nan2008"
1818// CHECK-EL-NAN64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el/fp64/nan2008"
1819// CHECK-EL-NAN64-MM: "-L[[TC]]/../../../../sysroot/micromips/el/fp64/nan2008/usr/lib/../lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001820// CHECK-EL-NAN64-MM: "[[TC]]/micromips/el/fp64/nan2008{{/|\\\\}}crtend.o"
1821// CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/el/fp64/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1822//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001823// = Little-endian, mips64, ABI n32, hard float
1824// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1825// RUN: --target=mips64el-linux-gnu -mips64 -mabi=n32 -mhard-float \
1826// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1827// RUN: | FileCheck --check-prefix=CHECK-EL-HF-64-N32 %s
1828// CHECK-EL-HF-64-N32: "-internal-isystem"
1829// CHECK-EL-HF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1830// CHECK-EL-HF-64-N32: "-internal-isystem"
1831// CHECK-EL-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el"
1832// CHECK-EL-HF-64-N32: "-internal-isystem"
1833// CHECK-EL-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1834// CHECK-EL-HF-64-N32: "-internal-externc-isystem"
1835// CHECK-EL-HF-64-N32: "[[TC]]/include"
1836// CHECK-EL-HF-64-N32: "-internal-externc-isystem"
1837// CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
1838// CHECK-EL-HF-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001839// CHECK-EL-HF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001840// CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crt1.o"
1841// CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crti.o"
1842// CHECK-EL-HF-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001843// CHECK-EL-HF-64-N32: "-L[[TC]]/mips64/el"
1844// CHECK-EL-HF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el"
1845// CHECK-EL-HF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001846// CHECK-EL-HF-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtend.o"
1847// CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crtn.o"
1848//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001849// = Little-endian, mips64, ABI n32, fp64, hard float
1850// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1851// RUN: --target=mips64el-linux-gnu -mips64 -mabi=n32 -mfp64 -mhard-float \
1852// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1853// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-64-N32 %s
1854// CHECK-EL-HF64-64-N32: "-internal-isystem"
1855// CHECK-EL-HF64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1856// CHECK-EL-HF64-64-N32: "-internal-isystem"
1857// CHECK-EL-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el/fp64"
1858// CHECK-EL-HF64-64-N32: "-internal-isystem"
1859// CHECK-EL-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1860// CHECK-EL-HF64-64-N32: "-internal-externc-isystem"
1861// CHECK-EL-HF64-64-N32: "[[TC]]/include"
1862// CHECK-EL-HF64-64-N32: "-internal-externc-isystem"
1863// CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
1864// CHECK-EL-HF64-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001865// CHECK-EL-HF64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001866// CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/fp64/usr/lib{{/|\\\\}}crt1.o"
1867// CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/fp64/usr/lib{{/|\\\\}}crti.o"
1868// CHECK-EL-HF64-64-N32: "[[TC]]/mips64/el/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001869// CHECK-EL-HF64-64-N32: "-L[[TC]]/mips64/el/fp64"
1870// CHECK-EL-HF64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el/fp64"
1871// CHECK-EL-HF64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/fp64/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001872// CHECK-EL-HF64-64-N32: "[[TC]]/mips64/el/fp64{{/|\\\\}}crtend.o"
1873// CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/fp64/usr/lib{{/|\\\\}}crtn.o"
1874//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001875// = Little-endian, mips64, ABI n32, soft float
1876// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1877// RUN: --target=mips64el-linux-gnu -mips64 -mabi=n32 -msoft-float \
1878// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1879// RUN: | FileCheck --check-prefix=CHECK-EL-SF-64-N32 %s
1880// CHECK-EL-SF-64-N32: "-internal-isystem"
1881// CHECK-EL-SF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1882// CHECK-EL-SF-64-N32: "-internal-isystem"
1883// CHECK-EL-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el/sof"
1884// CHECK-EL-SF-64-N32: "-internal-isystem"
1885// CHECK-EL-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1886// CHECK-EL-SF-64-N32: "-internal-externc-isystem"
1887// CHECK-EL-SF-64-N32: "[[TC]]/include"
1888// CHECK-EL-SF-64-N32: "-internal-externc-isystem"
1889// CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
1890// CHECK-EL-SF-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001891// CHECK-EL-SF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001892// CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib{{/|\\\\}}crt1.o"
1893// CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib{{/|\\\\}}crti.o"
1894// CHECK-EL-SF-64-N32: "[[TC]]/mips64/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001895// CHECK-EL-SF-64-N32: "-L[[TC]]/mips64/el/sof"
1896// CHECK-EL-SF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el/sof"
1897// CHECK-EL-SF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001898// CHECK-EL-SF-64-N32: "[[TC]]/mips64/el/sof{{/|\\\\}}crtend.o"
1899// CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib{{/|\\\\}}crtn.o"
1900//
1901// = Little-endian, mips64, ABI n32, nan2008
1902// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1903// RUN: --target=mips64el-linux-gnu -mips64 -mabi=n32 -mnan=2008 \
1904// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1905// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-64-N32 %s
1906// CHECK-EL-NAN-64-N32: "-internal-isystem"
1907// CHECK-EL-NAN-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1908// CHECK-EL-NAN-64-N32: "-internal-isystem"
1909// CHECK-EL-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el/nan2008"
1910// CHECK-EL-NAN-64-N32: "-internal-isystem"
1911// CHECK-EL-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1912// CHECK-EL-NAN-64-N32: "-internal-externc-isystem"
1913// CHECK-EL-NAN-64-N32: "[[TC]]/include"
1914// CHECK-EL-NAN-64-N32: "-internal-externc-isystem"
1915// CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/usr/include"
1916// CHECK-EL-NAN-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001917// CHECK-EL-NAN-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001918// CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
1919// CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
1920// CHECK-EL-NAN-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001921// CHECK-EL-NAN-64-N32: "-L[[TC]]/mips64/el/nan2008"
1922// CHECK-EL-NAN-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el/nan2008"
1923// CHECK-EL-NAN-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001924// CHECK-EL-NAN-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtend.o"
1925// CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
1926//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001927// = Little-endian, mips64, ABI n32, fp64, nan2008
1928// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1929// RUN: --target=mips64el-linux-gnu -mips64 -mabi=n32 -mfp64 -mnan=2008 \
1930// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1931// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-64-N32 %s
1932// CHECK-EL-NAN64-64-N32: "-internal-isystem"
1933// CHECK-EL-NAN64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1934// CHECK-EL-NAN64-64-N32: "-internal-isystem"
1935// CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el/fp64/nan2008"
1936// CHECK-EL-NAN64-64-N32: "-internal-isystem"
1937// CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1938// CHECK-EL-NAN64-64-N32: "-internal-externc-isystem"
1939// CHECK-EL-NAN64-64-N32: "[[TC]]/include"
1940// CHECK-EL-NAN64-64-N32: "-internal-externc-isystem"
1941// CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
1942// CHECK-EL-NAN64-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001943// CHECK-EL-NAN64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001944// CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/fp64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1945// CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/fp64/nan2008/usr/lib{{/|\\\\}}crti.o"
1946// CHECK-EL-NAN64-64-N32: "[[TC]]/mips64/el/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001947// CHECK-EL-NAN64-64-N32: "-L[[TC]]/mips64/el/fp64/nan2008"
1948// CHECK-EL-NAN64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el/fp64/nan2008"
1949// CHECK-EL-NAN64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/fp64/nan2008/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001950// CHECK-EL-NAN64-64-N32: "[[TC]]/mips64/el/fp64/nan2008{{/|\\\\}}crtend.o"
1951// CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/fp64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1952//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001953// = Little-endian, mips64, ABI 64, hard float
1954// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1955// RUN: --target=mips64el-linux-gnu -mips64 -mabi=64 -mhard-float \
1956// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1957// RUN: | FileCheck --check-prefix=CHECK-EL-HF-64-64 %s
1958// CHECK-EL-HF-64-64: "-internal-isystem"
1959// CHECK-EL-HF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1960// CHECK-EL-HF-64-64: "-internal-isystem"
1961// CHECK-EL-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el"
1962// CHECK-EL-HF-64-64: "-internal-isystem"
1963// CHECK-EL-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1964// CHECK-EL-HF-64-64: "-internal-externc-isystem"
1965// CHECK-EL-HF-64-64: "[[TC]]/include"
1966// CHECK-EL-HF-64-64: "-internal-externc-isystem"
1967// CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/usr/include"
1968// CHECK-EL-HF-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001969// CHECK-EL-HF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001970// CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crt1.o"
1971// CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crti.o"
1972// CHECK-EL-HF-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001973// CHECK-EL-HF-64-64: "-L[[TC]]/mips64/64/el"
1974// CHECK-EL-HF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el"
1975// CHECK-EL-HF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001976// CHECK-EL-HF-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtend.o"
1977// CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crtn.o"
1978//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001979// = Little-endian, mips64, ABI 64, fp64, hard float
1980// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1981// RUN: --target=mips64el-linux-gnu -mips64 -mabi=64 -mfp64 -mhard-float \
1982// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1983// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-64-64 %s
1984// CHECK-EL-HF64-64-64: "-internal-isystem"
1985// CHECK-EL-HF64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1986// CHECK-EL-HF64-64-64: "-internal-isystem"
1987// CHECK-EL-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el/fp64"
1988// CHECK-EL-HF64-64-64: "-internal-isystem"
1989// CHECK-EL-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1990// CHECK-EL-HF64-64-64: "-internal-externc-isystem"
1991// CHECK-EL-HF64-64-64: "[[TC]]/include"
1992// CHECK-EL-HF64-64-64: "-internal-externc-isystem"
1993// CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/usr/include"
1994// CHECK-EL-HF64-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001995// CHECK-EL-HF64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001996// CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/fp64/usr/lib{{/|\\\\}}crt1.o"
1997// CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/fp64/usr/lib{{/|\\\\}}crti.o"
1998// CHECK-EL-HF64-64-64: "[[TC]]/mips64/64/el/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001999// CHECK-EL-HF64-64-64: "-L[[TC]]/mips64/64/el/fp64"
2000// CHECK-EL-HF64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el/fp64"
2001// CHECK-EL-HF64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/fp64/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002002// CHECK-EL-HF64-64-64: "[[TC]]/mips64/64/el/fp64{{/|\\\\}}crtend.o"
2003// CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/fp64/usr/lib{{/|\\\\}}crtn.o"
2004//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002005// = Little-endian, mips64, ABI 64, soft float
2006// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2007// RUN: --target=mips64el-linux-gnu -mips64 -mabi=64 -msoft-float \
2008// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2009// RUN: | FileCheck --check-prefix=CHECK-EL-SF-64-64 %s
2010// CHECK-EL-SF-64-64: "-internal-isystem"
2011// CHECK-EL-SF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2012// CHECK-EL-SF-64-64: "-internal-isystem"
2013// CHECK-EL-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el/sof"
2014// CHECK-EL-SF-64-64: "-internal-isystem"
2015// CHECK-EL-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2016// CHECK-EL-SF-64-64: "-internal-externc-isystem"
2017// CHECK-EL-SF-64-64: "[[TC]]/include"
2018// CHECK-EL-SF-64-64: "-internal-externc-isystem"
2019// CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/usr/include"
2020// CHECK-EL-SF-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002021// CHECK-EL-SF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002022// CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib{{/|\\\\}}crt1.o"
2023// CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib{{/|\\\\}}crti.o"
2024// CHECK-EL-SF-64-64: "[[TC]]/mips64/64/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002025// CHECK-EL-SF-64-64: "-L[[TC]]/mips64/64/el/sof"
2026// CHECK-EL-SF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el/sof"
2027// CHECK-EL-SF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002028// CHECK-EL-SF-64-64: "[[TC]]/mips64/64/el/sof{{/|\\\\}}crtend.o"
2029// CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib{{/|\\\\}}crtn.o"
2030//
2031// = Little-endian, mips64, ABI 64, nan2008
2032// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2033// RUN: --target=mips64el-linux-gnu -mips64 -mabi=64 -mnan=2008 \
2034// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2035// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-64-64 %s
2036// CHECK-EL-NAN-64-64: "-internal-isystem"
2037// CHECK-EL-NAN-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2038// CHECK-EL-NAN-64-64: "-internal-isystem"
2039// CHECK-EL-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el/nan2008"
2040// CHECK-EL-NAN-64-64: "-internal-isystem"
2041// CHECK-EL-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2042// CHECK-EL-NAN-64-64: "-internal-externc-isystem"
2043// CHECK-EL-NAN-64-64: "[[TC]]/include"
2044// CHECK-EL-NAN-64-64: "-internal-externc-isystem"
2045// CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/usr/include"
2046// CHECK-EL-NAN-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002047// CHECK-EL-NAN-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002048// CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2049// CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2050// CHECK-EL-NAN-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002051// CHECK-EL-NAN-64-64: "-L[[TC]]/mips64/64/el/nan2008"
2052// CHECK-EL-NAN-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el/nan2008"
2053// CHECK-EL-NAN-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002054// CHECK-EL-NAN-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtend.o"
2055// CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2056//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002057// = Little-endian, mips64, ABI 64, fp64, nan2008
2058// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2059// RUN: --target=mips64el-linux-gnu -mips64 -mabi=64 -mfp64 -mnan=2008 \
2060// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2061// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-64-64 %s
2062// CHECK-EL-NAN64-64-64: "-internal-isystem"
2063// CHECK-EL-NAN64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2064// CHECK-EL-NAN64-64-64: "-internal-isystem"
2065// CHECK-EL-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el/fp64/nan2008"
2066// CHECK-EL-NAN64-64-64: "-internal-isystem"
2067// CHECK-EL-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2068// CHECK-EL-NAN64-64-64: "-internal-externc-isystem"
2069// CHECK-EL-NAN64-64-64: "[[TC]]/include"
2070// CHECK-EL-NAN64-64-64: "-internal-externc-isystem"
2071// CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/usr/include"
2072// CHECK-EL-NAN64-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002073// CHECK-EL-NAN64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002074// CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/fp64/nan2008/usr/lib{{/|\\\\}}crt1.o"
2075// CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/fp64/nan2008/usr/lib{{/|\\\\}}crti.o"
2076// CHECK-EL-NAN64-64-64: "[[TC]]/mips64/64/el/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002077// CHECK-EL-NAN64-64-64: "-L[[TC]]/mips64/64/el/fp64/nan2008"
2078// CHECK-EL-NAN64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el/fp64/nan2008"
2079// CHECK-EL-NAN64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/fp64/nan2008/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002080// CHECK-EL-NAN64-64-64: "[[TC]]/mips64/64/el/fp64/nan2008{{/|\\\\}}crtend.o"
2081// CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/fp64/nan2008/usr/lib{{/|\\\\}}crtn.o"
2082//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002083// = Little-endian, mips64r2, ABI n32, hard float
2084// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2085// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=n32 -mhard-float \
2086// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2087// RUN: | FileCheck --check-prefix=CHECK-EL-HF-64R2-N32 %s
2088// CHECK-EL-HF-64R2-N32: "-internal-isystem"
2089// CHECK-EL-HF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2090// CHECK-EL-HF-64R2-N32: "-internal-isystem"
2091// CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el"
2092// CHECK-EL-HF-64R2-N32: "-internal-isystem"
2093// CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2094// CHECK-EL-HF-64R2-N32: "-internal-externc-isystem"
2095// CHECK-EL-HF-64R2-N32: "[[TC]]/include"
2096// CHECK-EL-HF-64R2-N32: "-internal-externc-isystem"
2097// CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2098// CHECK-EL-HF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002099// CHECK-EL-HF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002100// CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crt1.o"
2101// CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crti.o"
2102// CHECK-EL-HF-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002103// CHECK-EL-HF-64R2-N32: "-L[[TC]]/mips64r2/el"
2104// CHECK-EL-HF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el"
2105// CHECK-EL-HF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002106// CHECK-EL-HF-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtend.o"
2107// CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crtn.o"
2108//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002109// = Little-endian, mips64r2, ABI n32, fp64, hard float
2110// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2111// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mhard-float \
2112// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2113// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-64R2-N32 %s
2114// CHECK-EL-HF64-64R2-N32: "-internal-isystem"
2115// CHECK-EL-HF64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2116// CHECK-EL-HF64-64R2-N32: "-internal-isystem"
2117// CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el/fp64"
2118// CHECK-EL-HF64-64R2-N32: "-internal-isystem"
2119// CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2120// CHECK-EL-HF64-64R2-N32: "-internal-externc-isystem"
2121// CHECK-EL-HF64-64R2-N32: "[[TC]]/include"
2122// CHECK-EL-HF64-64R2-N32: "-internal-externc-isystem"
2123// CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2124// CHECK-EL-HF64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002125// CHECK-EL-HF64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002126// CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/fp64/usr/lib{{/|\\\\}}crt1.o"
2127// CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/fp64/usr/lib{{/|\\\\}}crti.o"
2128// CHECK-EL-HF64-64R2-N32: "[[TC]]/mips64r2/el/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002129// CHECK-EL-HF64-64R2-N32: "-L[[TC]]/mips64r2/el/fp64"
2130// CHECK-EL-HF64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el/fp64"
2131// CHECK-EL-HF64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/fp64/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002132// CHECK-EL-HF64-64R2-N32: "[[TC]]/mips64r2/el/fp64{{/|\\\\}}crtend.o"
2133// CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/fp64/usr/lib{{/|\\\\}}crtn.o"
2134//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002135// = Little-endian, mips64r2, ABI n32, soft float
2136// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2137// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=n32 -msoft-float \
2138// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2139// RUN: | FileCheck --check-prefix=CHECK-EL-SF-64R2-N32 %s
2140// CHECK-EL-SF-64R2-N32: "-internal-isystem"
2141// CHECK-EL-SF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2142// CHECK-EL-SF-64R2-N32: "-internal-isystem"
2143// CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el/sof"
2144// CHECK-EL-SF-64R2-N32: "-internal-isystem"
2145// CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2146// CHECK-EL-SF-64R2-N32: "-internal-externc-isystem"
2147// CHECK-EL-SF-64R2-N32: "[[TC]]/include"
2148// CHECK-EL-SF-64R2-N32: "-internal-externc-isystem"
2149// CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2150// CHECK-EL-SF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002151// CHECK-EL-SF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002152// CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib{{/|\\\\}}crt1.o"
2153// CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib{{/|\\\\}}crti.o"
2154// CHECK-EL-SF-64R2-N32: "[[TC]]/mips64r2/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002155// CHECK-EL-SF-64R2-N32: "-L[[TC]]/mips64r2/el/sof"
2156// CHECK-EL-SF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el/sof"
2157// CHECK-EL-SF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002158// CHECK-EL-SF-64R2-N32: "[[TC]]/mips64r2/el/sof{{/|\\\\}}crtend.o"
2159// CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib{{/|\\\\}}crtn.o"
2160//
2161// = Little-endian, mips64r2, ABI n32, nan2008
2162// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2163// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=n32 -mnan=2008 \
2164// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2165// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-64R2-N32 %s
2166// CHECK-EL-NAN-64R2-N32: "-internal-isystem"
2167// CHECK-EL-NAN-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2168// CHECK-EL-NAN-64R2-N32: "-internal-isystem"
2169// CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el/nan2008"
2170// CHECK-EL-NAN-64R2-N32: "-internal-isystem"
2171// CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2172// CHECK-EL-NAN-64R2-N32: "-internal-externc-isystem"
2173// CHECK-EL-NAN-64R2-N32: "[[TC]]/include"
2174// CHECK-EL-NAN-64R2-N32: "-internal-externc-isystem"
2175// CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2176// CHECK-EL-NAN-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002177// CHECK-EL-NAN-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002178// CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2179// CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2180// CHECK-EL-NAN-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002181// CHECK-EL-NAN-64R2-N32: "-L[[TC]]/mips64r2/el/nan2008"
2182// CHECK-EL-NAN-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el/nan2008"
2183// CHECK-EL-NAN-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002184// CHECK-EL-NAN-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtend.o"
2185// CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2186//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002187// = Little-endian, mips64r2, ABI n32, fp64, nan2008
2188// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2189// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mnan=2008 \
2190// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2191// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-64R2-N32 %s
2192// CHECK-EL-NAN64-64R2-N32: "-internal-isystem"
2193// CHECK-EL-NAN64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2194// CHECK-EL-NAN64-64R2-N32: "-internal-isystem"
2195// CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el/fp64/nan2008"
2196// CHECK-EL-NAN64-64R2-N32: "-internal-isystem"
2197// CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2198// CHECK-EL-NAN64-64R2-N32: "-internal-externc-isystem"
2199// CHECK-EL-NAN64-64R2-N32: "[[TC]]/include"
2200// CHECK-EL-NAN64-64R2-N32: "-internal-externc-isystem"
2201// CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2202// CHECK-EL-NAN64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002203// CHECK-EL-NAN64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002204// CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/fp64/nan2008/usr/lib{{/|\\\\}}crt1.o"
2205// CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/fp64/nan2008/usr/lib{{/|\\\\}}crti.o"
2206// CHECK-EL-NAN64-64R2-N32: "[[TC]]/mips64r2/el/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002207// CHECK-EL-NAN64-64R2-N32: "-L[[TC]]/mips64r2/el/fp64/nan2008"
2208// CHECK-EL-NAN64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el/fp64/nan2008"
2209// CHECK-EL-NAN64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/fp64/nan2008/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002210// CHECK-EL-NAN64-64R2-N32: "[[TC]]/mips64r2/el/fp64/nan2008{{/|\\\\}}crtend.o"
2211// CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/fp64/nan2008/usr/lib{{/|\\\\}}crtn.o"
2212//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002213// = Little-endian, mips64r2, ABI 64, hard float
2214// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2215// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=64 -mhard-float \
2216// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2217// RUN: | FileCheck --check-prefix=CHECK-EL-HF-64R2-64 %s
2218// CHECK-EL-HF-64R2-64: "-internal-isystem"
2219// CHECK-EL-HF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2220// CHECK-EL-HF-64R2-64: "-internal-isystem"
2221// CHECK-EL-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el"
2222// CHECK-EL-HF-64R2-64: "-internal-isystem"
2223// CHECK-EL-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2224// CHECK-EL-HF-64R2-64: "-internal-externc-isystem"
2225// CHECK-EL-HF-64R2-64: "[[TC]]/include"
2226// CHECK-EL-HF-64R2-64: "-internal-externc-isystem"
2227// CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2228// CHECK-EL-HF-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002229// CHECK-EL-HF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002230// CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crt1.o"
2231// CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crti.o"
2232// CHECK-EL-HF-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002233// CHECK-EL-HF-64R2-64: "-L[[TC]]/mips64r2/64/el"
2234// CHECK-EL-HF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el"
2235// CHECK-EL-HF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002236// CHECK-EL-HF-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtend.o"
2237// CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crtn.o"
2238//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002239// = Little-endian, mips64r2, ABI 64, fp64, hard float
2240// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2241// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=64 -mfp64 -mhard-float \
2242// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2243// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-64R2-64 %s
2244// CHECK-EL-HF64-64R2-64: "-internal-isystem"
2245// CHECK-EL-HF64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2246// CHECK-EL-HF64-64R2-64: "-internal-isystem"
2247// CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/fp64"
2248// CHECK-EL-HF64-64R2-64: "-internal-isystem"
2249// CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2250// CHECK-EL-HF64-64R2-64: "-internal-externc-isystem"
2251// CHECK-EL-HF64-64R2-64: "[[TC]]/include"
2252// CHECK-EL-HF64-64R2-64: "-internal-externc-isystem"
2253// CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2254// CHECK-EL-HF64-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002255// CHECK-EL-HF64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/fp64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002256// CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/fp64/usr/lib{{/|\\\\}}crt1.o"
2257// CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/fp64/usr/lib{{/|\\\\}}crti.o"
2258// CHECK-EL-HF64-64R2-64: "[[TC]]/mips64r2/64/el/fp64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002259// CHECK-EL-HF64-64R2-64: "-L[[TC]]/mips64r2/64/el/fp64"
2260// CHECK-EL-HF64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/fp64"
2261// CHECK-EL-HF64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/fp64/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002262// CHECK-EL-HF64-64R2-64: "[[TC]]/mips64r2/64/el/fp64{{/|\\\\}}crtend.o"
2263// CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/fp64/usr/lib{{/|\\\\}}crtn.o"
2264//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002265// = Little-endian, mips64r2, ABI 64, soft float
2266// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2267// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=64 -msoft-float \
2268// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2269// RUN: | FileCheck --check-prefix=CHECK-EL-SF-64R2-64 %s
2270// CHECK-EL-SF-64R2-64: "-internal-isystem"
2271// CHECK-EL-SF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2272// CHECK-EL-SF-64R2-64: "-internal-isystem"
2273// CHECK-EL-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/sof"
2274// CHECK-EL-SF-64R2-64: "-internal-isystem"
2275// CHECK-EL-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2276// CHECK-EL-SF-64R2-64: "-internal-externc-isystem"
2277// CHECK-EL-SF-64R2-64: "[[TC]]/include"
2278// CHECK-EL-SF-64R2-64: "-internal-externc-isystem"
2279// CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2280// CHECK-EL-SF-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002281// CHECK-EL-SF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/sof"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002282// CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib{{/|\\\\}}crt1.o"
2283// CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib{{/|\\\\}}crti.o"
2284// CHECK-EL-SF-64R2-64: "[[TC]]/mips64r2/64/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002285// CHECK-EL-SF-64R2-64: "-L[[TC]]/mips64r2/64/el/sof"
2286// CHECK-EL-SF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/sof"
2287// CHECK-EL-SF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002288// CHECK-EL-SF-64R2-64: "[[TC]]/mips64r2/64/el/sof{{/|\\\\}}crtend.o"
2289// CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib{{/|\\\\}}crtn.o"
2290//
2291// = Little-endian, mips64r2, ABI 64, nan2008
2292// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2293// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=64 -mnan=2008 \
2294// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2295// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-64R2-64 %s
2296// CHECK-EL-NAN-64R2-64: "-internal-isystem"
2297// CHECK-EL-NAN-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2298// CHECK-EL-NAN-64R2-64: "-internal-isystem"
2299// CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/nan2008"
2300// CHECK-EL-NAN-64R2-64: "-internal-isystem"
2301// CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2302// CHECK-EL-NAN-64R2-64: "-internal-externc-isystem"
2303// CHECK-EL-NAN-64R2-64: "[[TC]]/include"
2304// CHECK-EL-NAN-64R2-64: "-internal-externc-isystem"
2305// CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2306// CHECK-EL-NAN-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002307// CHECK-EL-NAN-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002308// CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2309// CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2310// CHECK-EL-NAN-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002311// CHECK-EL-NAN-64R2-64: "-L[[TC]]/mips64r2/64/el/nan2008"
2312// CHECK-EL-NAN-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/nan2008"
2313// CHECK-EL-NAN-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002314// CHECK-EL-NAN-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtend.o"
2315// CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002316//
2317// = Little-endian, mips64r2, ABI 64, fp64, nan2008
2318// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2319// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=64 -mfp64 -mnan=2008 \
2320// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2321// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-64R2-64 %s
2322// CHECK-EL-NAN64-64R2-64: "-internal-isystem"
2323// CHECK-EL-NAN64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2324// CHECK-EL-NAN64-64R2-64: "-internal-isystem"
2325// CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/fp64/nan2008"
2326// CHECK-EL-NAN64-64R2-64: "-internal-isystem"
2327// CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2328// CHECK-EL-NAN64-64R2-64: "-internal-externc-isystem"
2329// CHECK-EL-NAN64-64R2-64: "[[TC]]/include"
2330// CHECK-EL-NAN64-64R2-64: "-internal-externc-isystem"
2331// CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2332// CHECK-EL-NAN64-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002333// CHECK-EL-NAN64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/fp64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002334// CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/fp64/nan2008/usr/lib{{/|\\\\}}crt1.o"
2335// CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/fp64/nan2008/usr/lib{{/|\\\\}}crti.o"
2336// CHECK-EL-NAN64-64R2-64: "[[TC]]/mips64r2/64/el/fp64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002337// CHECK-EL-NAN64-64R2-64: "-L[[TC]]/mips64r2/64/el/fp64/nan2008"
2338// CHECK-EL-NAN64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/fp64/nan2008"
2339// CHECK-EL-NAN64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/fp64/nan2008/usr/lib"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002340// CHECK-EL-NAN64-64R2-64: "[[TC]]/mips64r2/64/el/fp64/nan2008{{/|\\\\}}crtend.o"
2341// CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/fp64/nan2008/usr/lib{{/|\\\\}}crtn.o"