blob: e39b24e4ab2cac0534f23ee1c06f9f2249681766 [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 Atanasyan0c455f32014-07-26 09:52:21 +000020// CHECK-BE-HF-32: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +000021// CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crt1.o"
22// CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crti.o"
23// CHECK-BE-HF-32: "[[TC]]/mips32{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000024// CHECK-BE-HF-32: "-L[[TC]]/mips32"
25// CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32"
26// CHECK-BE-HF-32: "-L[[TC]]/../../../../sysroot/mips32/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +000027// CHECK-BE-HF-32: "[[TC]]/mips32{{/|\\\\}}crtend.o"
28// CHECK-BE-HF-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crtn.o"
29//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +000030// = Big-endian, mips32, hard float, fp64
31// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
32// RUN: --target=mips-linux-gnu -mips32 -mfp64 -mhard-float \
33// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
34// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-32 %s
35// CHECK-BE-HF64-32: "-internal-isystem"
36// CHECK-BE-HF64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
37// CHECK-BE-HF64-32: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +000038// CHECK-BE-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +000039// CHECK-BE-HF64-32: "-internal-isystem"
40// CHECK-BE-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
41// CHECK-BE-HF64-32: "-internal-externc-isystem"
42// CHECK-BE-HF64-32: "[[TC]]/include"
43// CHECK-BE-HF64-32: "-internal-externc-isystem"
44// CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/usr/include"
45// CHECK-BE-HF64-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +000046// CHECK-BE-HF64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32"
Simon Atanasyan0c455f32014-07-26 09:52:21 +000047// CHECK-BE-HF64-32: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +000048// CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crt1.o"
49// CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crti.o"
50// CHECK-BE-HF64-32: "[[TC]]/mips32{{/|\\\\}}crtbegin.o"
51// CHECK-BE-HF64-32: "-L[[TC]]/mips32"
52// CHECK-BE-HF64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32"
53// CHECK-BE-HF64-32: "-L[[TC]]/../../../../sysroot/mips32/usr/lib/../lib"
54// CHECK-BE-HF64-32: "[[TC]]/mips32{{/|\\\\}}crtend.o"
55// CHECK-BE-HF64-32: "[[TC]]/../../../../sysroot/mips32/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +000056//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +000057// = Big-endian, mips32, soft float
58// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
59// RUN: --target=mips-linux-gnu -mips32 -msoft-float \
60// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
61// RUN: | FileCheck --check-prefix=CHECK-BE-SF-32 %s
62// CHECK-BE-SF-32: "-internal-isystem"
63// CHECK-BE-SF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
64// CHECK-BE-SF-32: "-internal-isystem"
65// CHECK-BE-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/sof"
66// CHECK-BE-SF-32: "-internal-isystem"
67// CHECK-BE-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
68// CHECK-BE-SF-32: "-internal-externc-isystem"
69// CHECK-BE-SF-32: "[[TC]]/include"
70// CHECK-BE-SF-32: "-internal-externc-isystem"
71// CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/usr/include"
72// CHECK-BE-SF-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000073// CHECK-BE-SF-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +000074// CHECK-BE-SF-32: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +000075// CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
76// CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib{{/|\\\\}}crti.o"
77// CHECK-BE-SF-32: "[[TC]]/mips32/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +000078// CHECK-BE-SF-32: "-L[[TC]]/mips32/sof"
79// CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/sof"
80// CHECK-BE-SF-32: "-L[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +000081// CHECK-BE-SF-32: "[[TC]]/mips32/sof{{/|\\\\}}crtend.o"
82// CHECK-BE-SF-32: "[[TC]]/../../../../sysroot/mips32/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
83//
84// = Big-endian, mips16 / mips32, hard float
85// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
86// RUN: --target=mips-linux-gnu -mips32 -mips16 -mhard-float \
87// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
88// RUN: | FileCheck --check-prefix=CHECK-BE-HF-16 %s
89// CHECK-BE-HF-16: "-internal-isystem"
90// CHECK-BE-HF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
91// CHECK-BE-HF-16: "-internal-isystem"
92// CHECK-BE-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16"
93// CHECK-BE-HF-16: "-internal-isystem"
94// CHECK-BE-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
95// CHECK-BE-HF-16: "-internal-externc-isystem"
96// CHECK-BE-HF-16: "[[TC]]/include"
97// CHECK-BE-HF-16: "-internal-externc-isystem"
98// CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/usr/include"
99// CHECK-BE-HF-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000100// CHECK-BE-HF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000101// CHECK-BE-HF-16: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000102// CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
103// CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
104// CHECK-BE-HF-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000105// CHECK-BE-HF-16: "-L[[TC]]/mips32/mips16"
106// CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16"
107// CHECK-BE-HF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000108// CHECK-BE-HF-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtend.o"
109// CHECK-BE-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
110//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000111// = Big-endian, mips16 / mips32, hard float, fp64
112// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
113// RUN: --target=mips-linux-gnu -mips32 -mips16 -mfp64 -mhard-float \
114// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
115// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-16 %s
116// CHECK-BE-HF64-16: "-internal-isystem"
117// CHECK-BE-HF64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
118// CHECK-BE-HF64-16: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000119// CHECK-BE-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000120// CHECK-BE-HF64-16: "-internal-isystem"
121// CHECK-BE-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
122// CHECK-BE-HF64-16: "-internal-externc-isystem"
123// CHECK-BE-HF64-16: "[[TC]]/include"
124// CHECK-BE-HF64-16: "-internal-externc-isystem"
125// CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/usr/include"
126// CHECK-BE-HF64-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000127// CHECK-BE-HF64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000128// CHECK-BE-HF64-16: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000129// CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
130// CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
131// CHECK-BE-HF64-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtbegin.o"
132// CHECK-BE-HF64-16: "-L[[TC]]/mips32/mips16"
133// CHECK-BE-HF64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16"
134// CHECK-BE-HF64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib"
135// CHECK-BE-HF64-16: "[[TC]]/mips32/mips16{{/|\\\\}}crtend.o"
136// CHECK-BE-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000137//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000138// = Big-endian, mips16 / mips32, soft float
139// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
140// RUN: --target=mips-linux-gnu -mips32 -mips16 -msoft-float \
141// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
142// RUN: | FileCheck --check-prefix=CHECK-BE-SF-16 %s
143// CHECK-BE-SF-16: "-internal-isystem"
144// CHECK-BE-SF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
145// CHECK-BE-SF-16: "-internal-isystem"
146// CHECK-BE-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/sof"
147// CHECK-BE-SF-16: "-internal-isystem"
148// CHECK-BE-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
149// CHECK-BE-SF-16: "-internal-externc-isystem"
150// CHECK-BE-SF-16: "[[TC]]/include"
151// CHECK-BE-SF-16: "-internal-externc-isystem"
152// CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/usr/include"
153// CHECK-BE-SF-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000154// CHECK-BE-SF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000155// CHECK-BE-SF-16: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000156// CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
157// CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib{{/|\\\\}}crti.o"
158// CHECK-BE-SF-16: "[[TC]]/mips32/mips16/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000159// CHECK-BE-SF-16: "-L[[TC]]/mips32/mips16/sof"
160// CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/sof"
161// CHECK-BE-SF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000162// CHECK-BE-SF-16: "[[TC]]/mips32/mips16/sof{{/|\\\\}}crtend.o"
163// CHECK-BE-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
164//
165// = Big-endian, mips32 / mips16, nan2008
166// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
167// RUN: --target=mips-linux-gnu -mips32 -mips16 -mnan=2008 \
168// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
169// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-16 %s
170// CHECK-BE-NAN-16: "-internal-isystem"
171// CHECK-BE-NAN-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
172// CHECK-BE-NAN-16: "-internal-isystem"
173// CHECK-BE-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/nan2008"
174// CHECK-BE-NAN-16: "-internal-isystem"
175// CHECK-BE-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
176// CHECK-BE-NAN-16: "-internal-externc-isystem"
177// CHECK-BE-NAN-16: "[[TC]]/include"
178// CHECK-BE-NAN-16: "-internal-externc-isystem"
179// CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/usr/include"
180// CHECK-BE-NAN-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000181// CHECK-BE-NAN-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000182// CHECK-BE-NAN-16: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000183// CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
184// CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
185// CHECK-BE-NAN-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000186// CHECK-BE-NAN-16: "-L[[TC]]/mips32/mips16/nan2008"
187// CHECK-BE-NAN-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/nan2008"
188// CHECK-BE-NAN-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000189// CHECK-BE-NAN-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtend.o"
190// CHECK-BE-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
191//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000192// = Big-endian, mips32 / mips16, fp64, nan2008
193// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
194// RUN: --target=mips-linux-gnu -mips32 -mips16 -mfp64 -mnan=2008 \
195// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
196// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-16 %s
197// CHECK-BE-NAN64-16: "-internal-isystem"
198// CHECK-BE-NAN64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
199// CHECK-BE-NAN64-16: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000200// CHECK-BE-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000201// CHECK-BE-NAN64-16: "-internal-isystem"
202// CHECK-BE-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
203// CHECK-BE-NAN64-16: "-internal-externc-isystem"
204// CHECK-BE-NAN64-16: "[[TC]]/include"
205// CHECK-BE-NAN64-16: "-internal-externc-isystem"
206// CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/usr/include"
207// CHECK-BE-NAN64-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000208// CHECK-BE-NAN64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000209// CHECK-BE-NAN64-16: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000210// CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
211// CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
212// CHECK-BE-NAN64-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtbegin.o"
213// CHECK-BE-NAN64-16: "-L[[TC]]/mips32/mips16/nan2008"
214// CHECK-BE-NAN64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/nan2008"
215// CHECK-BE-NAN64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib"
216// CHECK-BE-NAN64-16: "[[TC]]/mips32/mips16/nan2008{{/|\\\\}}crtend.o"
217// CHECK-BE-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000218//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000219// = Big-endian, mips32, nan2008
220// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
221// RUN: --target=mips-linux-gnu -mips32 -mnan=2008 \
222// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
223// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-32 %s
224// CHECK-BE-NAN-32: "-internal-isystem"
225// CHECK-BE-NAN-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
226// CHECK-BE-NAN-32: "-internal-isystem"
227// CHECK-BE-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/nan2008"
228// CHECK-BE-NAN-32: "-internal-isystem"
229// CHECK-BE-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
230// CHECK-BE-NAN-32: "-internal-externc-isystem"
231// CHECK-BE-NAN-32: "[[TC]]/include"
232// CHECK-BE-NAN-32: "-internal-externc-isystem"
233// CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/usr/include"
234// CHECK-BE-NAN-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000235// CHECK-BE-NAN-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000236// CHECK-BE-NAN-32: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000237// CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
238// CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
239// CHECK-BE-NAN-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000240// CHECK-BE-NAN-32: "-L[[TC]]/mips32/nan2008"
241// CHECK-BE-NAN-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/nan2008"
242// CHECK-BE-NAN-32: "-L[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000243// CHECK-BE-NAN-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtend.o"
244// CHECK-BE-NAN-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
245//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000246// = Big-endian, mips32, fp64, nan2008
247// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
248// RUN: --target=mips-linux-gnu -mips32 -mfp64 -mnan=2008 \
249// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
250// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-32 %s
251// CHECK-BE-NAN64-32: "-internal-isystem"
252// CHECK-BE-NAN64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
253// CHECK-BE-NAN64-32: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000254// CHECK-BE-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000255// CHECK-BE-NAN64-32: "-internal-isystem"
256// CHECK-BE-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
257// CHECK-BE-NAN64-32: "-internal-externc-isystem"
258// CHECK-BE-NAN64-32: "[[TC]]/include"
259// CHECK-BE-NAN64-32: "-internal-externc-isystem"
260// CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/usr/include"
261// CHECK-BE-NAN64-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000262// CHECK-BE-NAN64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000263// CHECK-BE-NAN64-32: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000264// CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
265// CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
266// CHECK-BE-NAN64-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtbegin.o"
267// CHECK-BE-NAN64-32: "-L[[TC]]/mips32/nan2008"
268// CHECK-BE-NAN64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/nan2008"
269// CHECK-BE-NAN64-32: "-L[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib"
270// CHECK-BE-NAN64-32: "[[TC]]/mips32/nan2008{{/|\\\\}}crtend.o"
271// CHECK-BE-NAN64-32: "[[TC]]/../../../../sysroot/mips32/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000272//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000273// = Big-endian, mips32r2, hard float
274// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
275// RUN: --target=mips-linux-gnu -mips32r2 -mhard-float \
276// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
277// RUN: | FileCheck --check-prefix=CHECK-BE-HF-32R2 %s
278// CHECK-BE-HF-32R2: "-internal-isystem"
279// CHECK-BE-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
280// CHECK-BE-HF-32R2: "-internal-isystem"
281// CHECK-BE-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu"
282// CHECK-BE-HF-32R2: "-internal-isystem"
283// CHECK-BE-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
284// CHECK-BE-HF-32R2: "-internal-externc-isystem"
285// CHECK-BE-HF-32R2: "[[TC]]/include"
286// CHECK-BE-HF-32R2: "-internal-externc-isystem"
287// CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/include"
288// CHECK-BE-HF-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000289// CHECK-BE-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000290// CHECK-BE-HF-32R2: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000291// CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crt1.o"
292// CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crti.o"
293// CHECK-BE-HF-32R2: "[[TC]]{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000294// CHECK-BE-HF-32R2: "-L[[TC]]"
295// CHECK-BE-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib"
296// CHECK-BE-HF-32R2: "-L[[TC]]/../../../../sysroot/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000297// CHECK-BE-HF-32R2: "[[TC]]{{/|\\\\}}crtend.o"
298// CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crtn.o"
299//
Simon Atanasyand95c67d2014-08-13 14:34:14 +0000300// = Big-endian, mips32r2, hard float, uclibc
301// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
302// RUN: --target=mips-linux-gnu -mips32r2 -mhard-float -muclibc \
303// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
304// RUN: | FileCheck --check-prefix=CHECK-BE-UC-HF-32R2 %s
305// CHECK-BE-UC-HF-32R2: "-internal-isystem"
306// CHECK-BE-UC-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
307// CHECK-BE-UC-HF-32R2: "-internal-isystem"
308// CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc"
309// CHECK-BE-UC-HF-32R2: "-internal-isystem"
310// CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
311// CHECK-BE-UC-HF-32R2: "-internal-externc-isystem"
312// CHECK-BE-UC-HF-32R2: "[[TC]]/include"
313// CHECK-BE-UC-HF-32R2: "-internal-externc-isystem"
314// CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
315// CHECK-BE-UC-HF-32R2: "{{.*}}ld{{(.exe)?}}"
316// CHECK-BE-UC-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc"
317// CHECK-BE-UC-HF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
318// CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib{{/|\\\\}}crt1.o"
319// CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib{{/|\\\\}}crti.o"
320// CHECK-BE-UC-HF-32R2: "[[TC]]/uclibc{{/|\\\\}}crtbegin.o"
321// CHECK-BE-UC-HF-32R2: "-L[[TC]]/uclibc"
322// CHECK-BE-UC-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc"
323// CHECK-BE-UC-HF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib"
324// CHECK-BE-UC-HF-32R2: "[[TC]]/uclibc{{/|\\\\}}crtend.o"
325// CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib{{/|\\\\}}crtn.o"
326//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000327// = Big-endian, mips32r2, fp64, hard float
328// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
329// RUN: --target=mips-linux-gnu -mips32r2 -mfp64 -mhard-float \
330// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
331// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-32R2 %s
332// CHECK-BE-HF64-32R2: "-internal-isystem"
333// CHECK-BE-HF64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
334// CHECK-BE-HF64-32R2: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000335// CHECK-BE-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000336// CHECK-BE-HF64-32R2: "-internal-isystem"
337// CHECK-BE-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
338// CHECK-BE-HF64-32R2: "-internal-externc-isystem"
339// CHECK-BE-HF64-32R2: "[[TC]]/include"
340// CHECK-BE-HF64-32R2: "-internal-externc-isystem"
341// CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/usr/include"
342// CHECK-BE-HF64-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000343// CHECK-BE-HF64-32R2: "--sysroot=[[TC]]/../../../../sysroot"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000344// CHECK-BE-HF64-32R2: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000345// CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crt1.o"
346// CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crti.o"
347// CHECK-BE-HF64-32R2: "[[TC]]{{/|\\\\}}crtbegin.o"
348// CHECK-BE-HF64-32R2: "-L[[TC]]"
349// CHECK-BE-HF64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib"
350// CHECK-BE-HF64-32R2: "-L[[TC]]/../../../../sysroot/usr/lib/../lib"
351// CHECK-BE-HF64-32R2: "[[TC]]{{/|\\\\}}crtend.o"
352// CHECK-BE-HF64-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000353//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000354// = Big-endian, mips32r2, soft float
355// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
356// RUN: --target=mips-linux-gnu -mips32r2 -msoft-float \
357// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
358// RUN: | FileCheck --check-prefix=CHECK-BE-SF-32R2 %s
359// CHECK-BE-SF-32R2: "-internal-isystem"
360// CHECK-BE-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
361// CHECK-BE-SF-32R2: "-internal-isystem"
362// CHECK-BE-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/sof"
363// CHECK-BE-SF-32R2: "-internal-isystem"
364// CHECK-BE-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
365// CHECK-BE-SF-32R2: "-internal-externc-isystem"
366// CHECK-BE-SF-32R2: "[[TC]]/include"
367// CHECK-BE-SF-32R2: "-internal-externc-isystem"
368// CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/usr/include"
369// CHECK-BE-SF-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000370// CHECK-BE-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000371// CHECK-BE-SF-32R2: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000372// CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
373// CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crti.o"
374// CHECK-BE-SF-32R2: "[[TC]]/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000375// CHECK-BE-SF-32R2: "-L[[TC]]/sof"
376// CHECK-BE-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/sof"
377// CHECK-BE-SF-32R2: "-L[[TC]]/../../../../sysroot/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000378// CHECK-BE-SF-32R2: "[[TC]]/sof{{/|\\\\}}crtend.o"
379// CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
380//
Simon Atanasyand95c67d2014-08-13 14:34:14 +0000381// = Big-endian, mips32r2, soft float, uclibc
382// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
383// RUN: --target=mips-linux-gnu -mips32r2 -msoft-float -muclibc \
384// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
385// RUN: | FileCheck --check-prefix=CHECK-BE-UC-SF-32R2 %s
386// CHECK-BE-UC-SF-32R2: "-internal-isystem"
387// CHECK-BE-UC-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
388// CHECK-BE-UC-SF-32R2: "-internal-isystem"
389// CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/sof"
390// CHECK-BE-UC-SF-32R2: "-internal-isystem"
391// CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
392// CHECK-BE-UC-SF-32R2: "-internal-externc-isystem"
393// CHECK-BE-UC-SF-32R2: "[[TC]]/include"
394// CHECK-BE-UC-SF-32R2: "-internal-externc-isystem"
395// CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
396// CHECK-BE-UC-SF-32R2: "{{.*}}ld{{(.exe)?}}"
397// CHECK-BE-UC-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/sof"
398// CHECK-BE-UC-SF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
399// CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
400// CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib{{/|\\\\}}crti.o"
401// CHECK-BE-UC-SF-32R2: "[[TC]]/uclibc/sof{{/|\\\\}}crtbegin.o"
402// CHECK-BE-UC-SF-32R2: "-L[[TC]]/uclibc/sof"
403// CHECK-BE-UC-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/sof"
404// CHECK-BE-UC-SF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib"
405// CHECK-BE-UC-SF-32R2: "[[TC]]/uclibc/sof{{/|\\\\}}crtend.o"
406// CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
407//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000408// = Big-endian, mips32r2 / mips16, hard float
409// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
410// RUN: --target=mips-linux-gnu -mips32r2 -mips16 -mhard-float \
411// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
412// RUN: | FileCheck --check-prefix=CHECK-BE-HF-16R2 %s
413// CHECK-BE-HF-16R2: "-internal-isystem"
414// CHECK-BE-HF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
415// CHECK-BE-HF-16R2: "-internal-isystem"
416// CHECK-BE-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16"
417// CHECK-BE-HF-16R2: "-internal-isystem"
418// CHECK-BE-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
419// CHECK-BE-HF-16R2: "-internal-externc-isystem"
420// CHECK-BE-HF-16R2: "[[TC]]/include"
421// CHECK-BE-HF-16R2: "-internal-externc-isystem"
422// CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/usr/include"
423// CHECK-BE-HF-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000424// CHECK-BE-HF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000425// CHECK-BE-HF-16R2: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000426// CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
427// CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
428// CHECK-BE-HF-16R2: "[[TC]]/mips16{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000429// CHECK-BE-HF-16R2: "-L[[TC]]/mips16"
430// CHECK-BE-HF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16"
431// CHECK-BE-HF-16R2: "-L[[TC]]/../../../../sysroot/mips16/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000432// CHECK-BE-HF-16R2: "[[TC]]/mips16{{/|\\\\}}crtend.o"
433// CHECK-BE-HF-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
434//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000435// = Big-endian, mips32r2 / mips16, fp64, hard float
436// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
437// RUN: --target=mips-linux-gnu -mips32r2 -mips16 -mfp64 -mhard-float \
438// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
439// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-16R2 %s
440// CHECK-BE-HF64-16R2: "-internal-isystem"
441// CHECK-BE-HF64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
442// CHECK-BE-HF64-16R2: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000443// CHECK-BE-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000444// CHECK-BE-HF64-16R2: "-internal-isystem"
445// CHECK-BE-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
446// CHECK-BE-HF64-16R2: "-internal-externc-isystem"
447// CHECK-BE-HF64-16R2: "[[TC]]/include"
448// CHECK-BE-HF64-16R2: "-internal-externc-isystem"
449// CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/usr/include"
450// CHECK-BE-HF64-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000451// CHECK-BE-HF64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000452// CHECK-BE-HF64-16R2: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000453// CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
454// CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
455// CHECK-BE-HF64-16R2: "[[TC]]/mips16{{/|\\\\}}crtbegin.o"
456// CHECK-BE-HF64-16R2: "-L[[TC]]/mips16"
457// CHECK-BE-HF64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16"
458// CHECK-BE-HF64-16R2: "-L[[TC]]/../../../../sysroot/mips16/usr/lib/../lib"
459// CHECK-BE-HF64-16R2: "[[TC]]/mips16{{/|\\\\}}crtend.o"
460// CHECK-BE-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000461//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000462// = Big-endian, mips32r2 / mips16, soft float
463// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
464// RUN: --target=mips-linux-gnu -mips32r2 -mips16 -msoft-float \
465// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
466// RUN: | FileCheck --check-prefix=CHECK-BE-SF-16R2 %s
467// CHECK-BE-SF-16R2: "-internal-isystem"
468// CHECK-BE-SF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
469// CHECK-BE-SF-16R2: "-internal-isystem"
470// CHECK-BE-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/sof"
471// CHECK-BE-SF-16R2: "-internal-isystem"
472// CHECK-BE-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
473// CHECK-BE-SF-16R2: "-internal-externc-isystem"
474// CHECK-BE-SF-16R2: "[[TC]]/include"
475// CHECK-BE-SF-16R2: "-internal-externc-isystem"
476// CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/usr/include"
477// CHECK-BE-SF-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000478// CHECK-BE-SF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000479// CHECK-BE-SF-16R2: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000480// CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
481// CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib{{/|\\\\}}crti.o"
482// CHECK-BE-SF-16R2: "[[TC]]/mips16/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000483// CHECK-BE-SF-16R2: "-L[[TC]]/mips16/sof"
484// CHECK-BE-SF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/sof"
485// CHECK-BE-SF-16R2: "-L[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000486// CHECK-BE-SF-16R2: "[[TC]]/mips16/sof{{/|\\\\}}crtend.o"
487// CHECK-BE-SF-16R2: "[[TC]]/../../../../sysroot/mips16/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
488//
489// = Big-endian, mips32r2 / mips16, nan2008
490// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
491// RUN: --target=mips-linux-gnu -mips32r2 -mips16 -mnan=2008 \
492// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
493// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-16R2 %s
494// CHECK-BE-NAN-16R2: "-internal-isystem"
495// CHECK-BE-NAN-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
496// CHECK-BE-NAN-16R2: "-internal-isystem"
497// CHECK-BE-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/nan2008"
498// CHECK-BE-NAN-16R2: "-internal-isystem"
499// CHECK-BE-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
500// CHECK-BE-NAN-16R2: "-internal-externc-isystem"
501// CHECK-BE-NAN-16R2: "[[TC]]/include"
502// CHECK-BE-NAN-16R2: "-internal-externc-isystem"
503// CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/usr/include"
504// CHECK-BE-NAN-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000505// CHECK-BE-NAN-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000506// CHECK-BE-NAN-16R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000507// CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
508// CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
509// CHECK-BE-NAN-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000510// CHECK-BE-NAN-16R2: "-L[[TC]]/mips16/nan2008"
511// CHECK-BE-NAN-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/nan2008"
512// CHECK-BE-NAN-16R2: "-L[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000513// CHECK-BE-NAN-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtend.o"
514// CHECK-BE-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
515//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000516// = Big-endian, mips32r2 / mips16, fp64, nan2008
517// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
518// RUN: --target=mips-linux-gnu -mips32r2 -mips16 -mfp64 -mnan=2008 \
519// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
520// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-16R2 %s
521// CHECK-BE-NAN64-16R2: "-internal-isystem"
522// CHECK-BE-NAN64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
523// CHECK-BE-NAN64-16R2: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000524// CHECK-BE-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000525// CHECK-BE-NAN64-16R2: "-internal-isystem"
526// CHECK-BE-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
527// CHECK-BE-NAN64-16R2: "-internal-externc-isystem"
528// CHECK-BE-NAN64-16R2: "[[TC]]/include"
529// CHECK-BE-NAN64-16R2: "-internal-externc-isystem"
530// CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/usr/include"
531// CHECK-BE-NAN64-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000532// CHECK-BE-NAN64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000533// CHECK-BE-NAN64-16R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000534// CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
535// CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
536// CHECK-BE-NAN64-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtbegin.o"
537// CHECK-BE-NAN64-16R2: "-L[[TC]]/mips16/nan2008"
538// CHECK-BE-NAN64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/nan2008"
539// CHECK-BE-NAN64-16R2: "-L[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib"
540// CHECK-BE-NAN64-16R2: "[[TC]]/mips16/nan2008{{/|\\\\}}crtend.o"
541// CHECK-BE-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000542//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000543// = Big-endian, mips32r2, nan2008
544// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
545// RUN: --target=mips-linux-gnu -mips32r2 -mnan=2008 \
546// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
547// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-32R2 %s
548// CHECK-BE-NAN-32R2: "-internal-isystem"
549// CHECK-BE-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
550// CHECK-BE-NAN-32R2: "-internal-isystem"
551// CHECK-BE-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/nan2008"
552// CHECK-BE-NAN-32R2: "-internal-isystem"
553// CHECK-BE-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
554// CHECK-BE-NAN-32R2: "-internal-externc-isystem"
555// CHECK-BE-NAN-32R2: "[[TC]]/include"
556// CHECK-BE-NAN-32R2: "-internal-externc-isystem"
557// CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/usr/include"
558// CHECK-BE-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000559// CHECK-BE-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000560// CHECK-BE-NAN-32R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000561// CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
562// CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
563// CHECK-BE-NAN-32R2: "[[TC]]/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000564// CHECK-BE-NAN-32R2: "-L[[TC]]/nan2008"
565// CHECK-BE-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/nan2008"
566// CHECK-BE-NAN-32R2: "-L[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000567// CHECK-BE-NAN-32R2: "[[TC]]/nan2008{{/|\\\\}}crtend.o"
568// CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
569//
Simon Atanasyand95c67d2014-08-13 14:34:14 +0000570// = Big-endian, mips32r2, nan2008, uclibc
571// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
572// RUN: --target=mips-linux-gnu -mips32r2 -mnan=2008 -muclibc \
573// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
574// RUN: | FileCheck --check-prefix=CHECK-BE-UC-NAN-32R2 %s
575// CHECK-BE-UC-NAN-32R2: "-internal-isystem"
576// CHECK-BE-UC-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
577// CHECK-BE-UC-NAN-32R2: "-internal-isystem"
578// CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/nan2008"
579// CHECK-BE-UC-NAN-32R2: "-internal-isystem"
580// CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
581// CHECK-BE-UC-NAN-32R2: "-internal-externc-isystem"
582// CHECK-BE-UC-NAN-32R2: "[[TC]]/include"
583// CHECK-BE-UC-NAN-32R2: "-internal-externc-isystem"
584// CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
585// CHECK-BE-UC-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
586// CHECK-BE-UC-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/nan2008"
587// CHECK-BE-UC-NAN-32R2: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0"
588// CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
589// CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
590// CHECK-BE-UC-NAN-32R2: "[[TC]]/uclibc/nan2008{{/|\\\\}}crtbegin.o"
591// CHECK-BE-UC-NAN-32R2: "-L[[TC]]/uclibc/nan2008"
592// CHECK-BE-UC-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/nan2008"
593// CHECK-BE-UC-NAN-32R2: "-L[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib"
594// CHECK-BE-UC-NAN-32R2: "[[TC]]/uclibc/nan2008{{/|\\\\}}crtend.o"
595// CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
596//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000597// = Big-endian, mips32r2, fp64, nan2008
598// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
599// RUN: --target=mips-linux-gnu -mips32r2 -mfp64 -mnan=2008 \
600// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
601// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-32R2 %s
602// CHECK-BE-NAN64-32R2: "-internal-isystem"
603// CHECK-BE-NAN64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
604// CHECK-BE-NAN64-32R2: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000605// CHECK-BE-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000606// CHECK-BE-NAN64-32R2: "-internal-isystem"
607// CHECK-BE-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
608// CHECK-BE-NAN64-32R2: "-internal-externc-isystem"
609// CHECK-BE-NAN64-32R2: "[[TC]]/include"
610// CHECK-BE-NAN64-32R2: "-internal-externc-isystem"
611// CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/usr/include"
612// CHECK-BE-NAN64-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000613// CHECK-BE-NAN64-32R2: "--sysroot=[[TC]]/../../../../sysroot/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000614// CHECK-BE-NAN64-32R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000615// CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
616// CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
617// CHECK-BE-NAN64-32R2: "[[TC]]/nan2008{{/|\\\\}}crtbegin.o"
618// CHECK-BE-NAN64-32R2: "-L[[TC]]/nan2008"
619// CHECK-BE-NAN64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/nan2008"
620// CHECK-BE-NAN64-32R2: "-L[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib"
621// CHECK-BE-NAN64-32R2: "[[TC]]/nan2008{{/|\\\\}}crtend.o"
622// CHECK-BE-NAN64-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000623//
Simon Atanasyan9988e3a2014-07-16 17:34:54 +0000624// = Big-endian, default (mips32r2), fp64, nan2008
625// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
626// RUN: --target=mips-linux-gnu -mfp64 -mnan=2008 \
627// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
628// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-32R2-DEF %s
629// CHECK-BE-NAN64-32R2-DEF: "-internal-isystem"
630// CHECK-BE-NAN64-32R2-DEF: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
631// CHECK-BE-NAN64-32R2-DEF: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000632// CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/nan2008"
Simon Atanasyan9988e3a2014-07-16 17:34:54 +0000633// CHECK-BE-NAN64-32R2-DEF: "-internal-isystem"
634// CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
635// CHECK-BE-NAN64-32R2-DEF: "-internal-externc-isystem"
636// CHECK-BE-NAN64-32R2-DEF: "[[TC]]/include"
637// CHECK-BE-NAN64-32R2-DEF: "-internal-externc-isystem"
638// CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/usr/include"
639// CHECK-BE-NAN64-32R2-DEF: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000640// CHECK-BE-NAN64-32R2-DEF: "--sysroot=[[TC]]/../../../../sysroot/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000641// CHECK-BE-NAN64-32R2-DEF: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000642// CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
643// CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
644// CHECK-BE-NAN64-32R2-DEF: "[[TC]]/nan2008{{/|\\\\}}crtbegin.o"
645// CHECK-BE-NAN64-32R2-DEF: "-L[[TC]]/nan2008"
646// CHECK-BE-NAN64-32R2-DEF: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/nan2008"
647// CHECK-BE-NAN64-32R2-DEF: "-L[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib"
648// CHECK-BE-NAN64-32R2-DEF: "[[TC]]/nan2008{{/|\\\\}}crtend.o"
649// CHECK-BE-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan9988e3a2014-07-16 17:34:54 +0000650//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000651// = Big-endian, micromips, hard float
652// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
653// RUN: --target=mips-linux-gnu -mmicromips -mhard-float \
654// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
655// RUN: | FileCheck --check-prefix=CHECK-BE-HF-MM %s
656// CHECK-BE-HF-MM: "-internal-isystem"
657// CHECK-BE-HF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
658// CHECK-BE-HF-MM: "-internal-isystem"
659// CHECK-BE-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips"
660// CHECK-BE-HF-MM: "-internal-isystem"
661// CHECK-BE-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
662// CHECK-BE-HF-MM: "-internal-externc-isystem"
663// CHECK-BE-HF-MM: "[[TC]]/include"
664// CHECK-BE-HF-MM: "-internal-externc-isystem"
665// CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/usr/include"
666// CHECK-BE-HF-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000667// CHECK-BE-HF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000668// CHECK-BE-HF-MM: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000669// CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crt1.o"
670// CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crti.o"
671// CHECK-BE-HF-MM: "[[TC]]/micromips{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000672// CHECK-BE-HF-MM: "-L[[TC]]/micromips"
673// CHECK-BE-HF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips"
674// CHECK-BE-HF-MM: "-L[[TC]]/../../../../sysroot/micromips/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000675// CHECK-BE-HF-MM: "[[TC]]/micromips{{/|\\\\}}crtend.o"
676// CHECK-BE-HF-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crtn.o"
677//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000678// = Big-endian, micromips, fp64, hard float
679// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
680// RUN: --target=mips-linux-gnu -mmicromips -mfp64 -mhard-float \
681// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
682// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-MM %s
683// CHECK-BE-HF64-MM: "-internal-isystem"
684// CHECK-BE-HF64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
685// CHECK-BE-HF64-MM: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000686// CHECK-BE-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000687// CHECK-BE-HF64-MM: "-internal-isystem"
688// CHECK-BE-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
689// CHECK-BE-HF64-MM: "-internal-externc-isystem"
690// CHECK-BE-HF64-MM: "[[TC]]/include"
691// CHECK-BE-HF64-MM: "-internal-externc-isystem"
692// CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/usr/include"
693// CHECK-BE-HF64-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000694// CHECK-BE-HF64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000695// CHECK-BE-HF64-MM: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000696// CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crt1.o"
697// CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crti.o"
698// CHECK-BE-HF64-MM: "[[TC]]/micromips{{/|\\\\}}crtbegin.o"
699// CHECK-BE-HF64-MM: "-L[[TC]]/micromips"
700// CHECK-BE-HF64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips"
701// CHECK-BE-HF64-MM: "-L[[TC]]/../../../../sysroot/micromips/usr/lib/../lib"
702// CHECK-BE-HF64-MM: "[[TC]]/micromips{{/|\\\\}}crtend.o"
703// CHECK-BE-HF64-MM: "[[TC]]/../../../../sysroot/micromips/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000704//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000705// = Big-endian, micromips, soft float
706// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
707// RUN: --target=mips-linux-gnu -mmicromips -msoft-float \
708// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
709// RUN: | FileCheck --check-prefix=CHECK-BE-SF-MM %s
710// CHECK-BE-SF-MM: "-internal-isystem"
711// CHECK-BE-SF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
712// CHECK-BE-SF-MM: "-internal-isystem"
713// CHECK-BE-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/sof"
714// CHECK-BE-SF-MM: "-internal-isystem"
715// CHECK-BE-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
716// CHECK-BE-SF-MM: "-internal-externc-isystem"
717// CHECK-BE-SF-MM: "[[TC]]/include"
718// CHECK-BE-SF-MM: "-internal-externc-isystem"
719// CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/usr/include"
720// CHECK-BE-SF-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000721// CHECK-BE-SF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000722// CHECK-BE-SF-MM: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000723// CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
724// CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib{{/|\\\\}}crti.o"
725// CHECK-BE-SF-MM: "[[TC]]/micromips/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000726// CHECK-BE-SF-MM: "-L[[TC]]/micromips/sof"
727// CHECK-BE-SF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/sof"
728// CHECK-BE-SF-MM: "-L[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000729// CHECK-BE-SF-MM: "[[TC]]/micromips/sof{{/|\\\\}}crtend.o"
730// CHECK-BE-SF-MM: "[[TC]]/../../../../sysroot/micromips/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
731//
732// = Big-endian, micromips, nan2008
733// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
734// RUN: --target=mips-linux-gnu -mmicromips -mnan=2008 \
735// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
736// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-MM %s
737// CHECK-BE-NAN-MM: "-internal-isystem"
738// CHECK-BE-NAN-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
739// CHECK-BE-NAN-MM: "-internal-isystem"
740// CHECK-BE-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/nan2008"
741// CHECK-BE-NAN-MM: "-internal-isystem"
742// CHECK-BE-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
743// CHECK-BE-NAN-MM: "-internal-externc-isystem"
744// CHECK-BE-NAN-MM: "[[TC]]/include"
745// CHECK-BE-NAN-MM: "-internal-externc-isystem"
746// CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/usr/include"
747// CHECK-BE-NAN-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000748// CHECK-BE-NAN-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000749// CHECK-BE-NAN-MM: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000750// CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
751// CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
752// CHECK-BE-NAN-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000753// CHECK-BE-NAN-MM: "-L[[TC]]/micromips/nan2008"
754// CHECK-BE-NAN-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/nan2008"
755// CHECK-BE-NAN-MM: "-L[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000756// CHECK-BE-NAN-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtend.o"
757// CHECK-BE-NAN-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
758//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000759// = Big-endian, micromips, fp64, nan2008
760// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
761// RUN: --target=mips-linux-gnu -mmicromips -mfp64 -mnan=2008 \
762// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
763// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-MM %s
764// CHECK-BE-NAN64-MM: "-internal-isystem"
765// CHECK-BE-NAN64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
766// CHECK-BE-NAN64-MM: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000767// CHECK-BE-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000768// CHECK-BE-NAN64-MM: "-internal-isystem"
769// CHECK-BE-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
770// CHECK-BE-NAN64-MM: "-internal-externc-isystem"
771// CHECK-BE-NAN64-MM: "[[TC]]/include"
772// CHECK-BE-NAN64-MM: "-internal-externc-isystem"
773// CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/usr/include"
774// CHECK-BE-NAN64-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000775// CHECK-BE-NAN64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000776// CHECK-BE-NAN64-MM: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000777// CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
778// CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
779// CHECK-BE-NAN64-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtbegin.o"
780// CHECK-BE-NAN64-MM: "-L[[TC]]/micromips/nan2008"
781// CHECK-BE-NAN64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/nan2008"
782// CHECK-BE-NAN64-MM: "-L[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib"
783// CHECK-BE-NAN64-MM: "[[TC]]/micromips/nan2008{{/|\\\\}}crtend.o"
784// CHECK-BE-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000785//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000786// = Big-endian, mips64, ABI n32, hard float
787// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
788// RUN: --target=mips64-linux-gnu -mips64 -mabi=n32 -mhard-float \
789// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
790// RUN: | FileCheck --check-prefix=CHECK-BE-HF-64-N32 %s
791// CHECK-BE-HF-64-N32: "-internal-isystem"
792// CHECK-BE-HF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
793// CHECK-BE-HF-64-N32: "-internal-isystem"
794// CHECK-BE-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64"
795// CHECK-BE-HF-64-N32: "-internal-isystem"
796// CHECK-BE-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
797// CHECK-BE-HF-64-N32: "-internal-externc-isystem"
798// CHECK-BE-HF-64-N32: "[[TC]]/include"
799// CHECK-BE-HF-64-N32: "-internal-externc-isystem"
800// CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
801// CHECK-BE-HF-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000802// CHECK-BE-HF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000803// CHECK-BE-HF-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000804// CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crt1.o"
805// CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crti.o"
806// CHECK-BE-HF-64-N32: "[[TC]]/mips64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000807// CHECK-BE-HF-64-N32: "-L[[TC]]/mips64"
808// CHECK-BE-HF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64"
809// CHECK-BE-HF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000810// CHECK-BE-HF-64-N32: "[[TC]]/mips64{{/|\\\\}}crtend.o"
811// CHECK-BE-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crtn.o"
812//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000813// = Big-endian, mips64, ABI n32, fp64, hard float
814// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
815// RUN: --target=mips64-linux-gnu -mips64 -mabi=n32 -mfp64 -mhard-float \
816// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
817// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-64-N32 %s
818// CHECK-BE-HF64-64-N32: "-internal-isystem"
819// CHECK-BE-HF64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
820// CHECK-BE-HF64-64-N32: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000821// CHECK-BE-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000822// CHECK-BE-HF64-64-N32: "-internal-isystem"
823// CHECK-BE-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
824// CHECK-BE-HF64-64-N32: "-internal-externc-isystem"
825// CHECK-BE-HF64-64-N32: "[[TC]]/include"
826// CHECK-BE-HF64-64-N32: "-internal-externc-isystem"
827// CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
828// CHECK-BE-HF64-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000829// CHECK-BE-HF64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000830// CHECK-BE-HF64-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000831// CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crt1.o"
832// CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crti.o"
833// CHECK-BE-HF64-64-N32: "[[TC]]/mips64{{/|\\\\}}crtbegin.o"
834// CHECK-BE-HF64-64-N32: "-L[[TC]]/mips64"
835// CHECK-BE-HF64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64"
836// CHECK-BE-HF64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/usr/lib"
837// CHECK-BE-HF64-64-N32: "[[TC]]/mips64{{/|\\\\}}crtend.o"
838// CHECK-BE-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000839//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000840// = Big-endian, mips64, ABI n32, soft float
841// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
842// RUN: --target=mips64-linux-gnu -mips64 -mabi=n32 -msoft-float \
843// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
844// RUN: | FileCheck --check-prefix=CHECK-BE-SF-64-N32 %s
845// CHECK-BE-SF-64-N32: "-internal-isystem"
846// CHECK-BE-SF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
847// CHECK-BE-SF-64-N32: "-internal-isystem"
848// CHECK-BE-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/sof"
849// CHECK-BE-SF-64-N32: "-internal-isystem"
850// CHECK-BE-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
851// CHECK-BE-SF-64-N32: "-internal-externc-isystem"
852// CHECK-BE-SF-64-N32: "[[TC]]/include"
853// CHECK-BE-SF-64-N32: "-internal-externc-isystem"
854// CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
855// CHECK-BE-SF-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000856// CHECK-BE-SF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000857// CHECK-BE-SF-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000858// CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/sof/usr/lib{{/|\\\\}}crt1.o"
859// CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/sof/usr/lib{{/|\\\\}}crti.o"
860// CHECK-BE-SF-64-N32: "[[TC]]/mips64/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000861// CHECK-BE-SF-64-N32: "-L[[TC]]/mips64/sof"
862// CHECK-BE-SF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/sof"
863// CHECK-BE-SF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000864// CHECK-BE-SF-64-N32: "[[TC]]/mips64/sof{{/|\\\\}}crtend.o"
865// CHECK-BE-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/sof/usr/lib{{/|\\\\}}crtn.o"
866//
867// = Big-endian, mips64, ABI n32, nan2008
868// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
869// RUN: --target=mips64-linux-gnu -mips64 -mabi=n32 -mnan=2008 \
870// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
871// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-64-N32 %s
872// CHECK-BE-NAN-64-N32: "-internal-isystem"
873// CHECK-BE-NAN-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
874// CHECK-BE-NAN-64-N32: "-internal-isystem"
875// CHECK-BE-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/nan2008"
876// CHECK-BE-NAN-64-N32: "-internal-isystem"
877// CHECK-BE-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
878// CHECK-BE-NAN-64-N32: "-internal-externc-isystem"
879// CHECK-BE-NAN-64-N32: "[[TC]]/include"
880// CHECK-BE-NAN-64-N32: "-internal-externc-isystem"
881// CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/usr/include"
882// CHECK-BE-NAN-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000883// CHECK-BE-NAN-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000884// CHECK-BE-NAN-64-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000885// CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crt1.o"
886// CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crti.o"
887// CHECK-BE-NAN-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000888// CHECK-BE-NAN-64-N32: "-L[[TC]]/mips64/nan2008"
889// CHECK-BE-NAN-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/nan2008"
890// CHECK-BE-NAN-64-N32: "-L[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000891// CHECK-BE-NAN-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtend.o"
892// CHECK-BE-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crtn.o"
893//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000894// = Big-endian, mips64, ABI n32, fp64, nan2008
895// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
896// RUN: --target=mips64-linux-gnu -mips64 -mabi=n32 -mfp64 -mnan=2008 \
897// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
898// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-64-N32 %s
899// CHECK-BE-NAN64-64-N32: "-internal-isystem"
900// CHECK-BE-NAN64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
901// CHECK-BE-NAN64-64-N32: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000902// CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000903// CHECK-BE-NAN64-64-N32: "-internal-isystem"
904// CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
905// CHECK-BE-NAN64-64-N32: "-internal-externc-isystem"
906// CHECK-BE-NAN64-64-N32: "[[TC]]/include"
907// CHECK-BE-NAN64-64-N32: "-internal-externc-isystem"
908// CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
909// CHECK-BE-NAN64-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000910// CHECK-BE-NAN64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000911// CHECK-BE-NAN64-64-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000912// CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crt1.o"
913// CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crti.o"
914// CHECK-BE-NAN64-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtbegin.o"
915// CHECK-BE-NAN64-64-N32: "-L[[TC]]/mips64/nan2008"
916// CHECK-BE-NAN64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/nan2008"
917// CHECK-BE-NAN64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib"
918// CHECK-BE-NAN64-64-N32: "[[TC]]/mips64/nan2008{{/|\\\\}}crtend.o"
919// CHECK-BE-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/nan2008/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000920//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000921// = Big-endian, mips64, ABI 64, hard float
922// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
923// RUN: --target=mips64-linux-gnu -mips64 -mabi=64 -mhard-float \
924// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
925// RUN: | FileCheck --check-prefix=CHECK-BE-HF-64-64 %s
926// CHECK-BE-HF-64-64: "-internal-isystem"
927// CHECK-BE-HF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
928// CHECK-BE-HF-64-64: "-internal-isystem"
929// CHECK-BE-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64"
930// CHECK-BE-HF-64-64: "-internal-isystem"
931// CHECK-BE-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
932// CHECK-BE-HF-64-64: "-internal-externc-isystem"
933// CHECK-BE-HF-64-64: "[[TC]]/include"
934// CHECK-BE-HF-64-64: "-internal-externc-isystem"
935// CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/usr/include"
936// CHECK-BE-HF-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000937// CHECK-BE-HF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000938// CHECK-BE-HF-64-64: "-dynamic-linker" "/lib64/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000939// CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crt1.o"
940// CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crti.o"
941// CHECK-BE-HF-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000942// CHECK-BE-HF-64-64: "-L[[TC]]/mips64/64"
943// CHECK-BE-HF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64"
944// CHECK-BE-HF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000945// CHECK-BE-HF-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtend.o"
946// CHECK-BE-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crtn.o"
947//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000948// = Big-endian, mips64, ABI 64, fp64, hard float
949// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
950// RUN: --target=mips64-linux-gnu -mips64 -mabi=64 -mfp64 -mhard-float \
951// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
952// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-64-64 %s
953// CHECK-BE-HF64-64-64: "-internal-isystem"
954// CHECK-BE-HF64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
955// CHECK-BE-HF64-64-64: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000956// CHECK-BE-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000957// CHECK-BE-HF64-64-64: "-internal-isystem"
958// CHECK-BE-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
959// CHECK-BE-HF64-64-64: "-internal-externc-isystem"
960// CHECK-BE-HF64-64-64: "[[TC]]/include"
961// CHECK-BE-HF64-64-64: "-internal-externc-isystem"
962// CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/usr/include"
963// CHECK-BE-HF64-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000964// CHECK-BE-HF64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000965// CHECK-BE-HF64-64-64: "-dynamic-linker" "/lib64/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +0000966// CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crt1.o"
967// CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crti.o"
968// CHECK-BE-HF64-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtbegin.o"
969// CHECK-BE-HF64-64-64: "-L[[TC]]/mips64/64"
970// CHECK-BE-HF64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64"
971// CHECK-BE-HF64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/usr/lib"
972// CHECK-BE-HF64-64-64: "[[TC]]/mips64/64{{/|\\\\}}crtend.o"
973// CHECK-BE-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +0000974//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000975// = Big-endian, mips64, ABI 64, soft float
976// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
977// RUN: --target=mips64-linux-gnu -mips64 -mabi=64 -msoft-float \
978// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
979// RUN: | FileCheck --check-prefix=CHECK-BE-SF-64-64 %s
980// CHECK-BE-SF-64-64: "-internal-isystem"
981// CHECK-BE-SF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
982// CHECK-BE-SF-64-64: "-internal-isystem"
983// CHECK-BE-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/sof"
984// CHECK-BE-SF-64-64: "-internal-isystem"
985// CHECK-BE-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
986// CHECK-BE-SF-64-64: "-internal-externc-isystem"
987// CHECK-BE-SF-64-64: "[[TC]]/include"
988// CHECK-BE-SF-64-64: "-internal-externc-isystem"
989// CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/usr/include"
990// CHECK-BE-SF-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000991// CHECK-BE-SF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +0000992// CHECK-BE-SF-64-64: "-dynamic-linker" "/lib64/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000993// CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib{{/|\\\\}}crt1.o"
994// CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib{{/|\\\\}}crti.o"
995// CHECK-BE-SF-64-64: "[[TC]]/mips64/64/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +0000996// CHECK-BE-SF-64-64: "-L[[TC]]/mips64/64/sof"
997// CHECK-BE-SF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/sof"
998// CHECK-BE-SF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +0000999// CHECK-BE-SF-64-64: "[[TC]]/mips64/64/sof{{/|\\\\}}crtend.o"
1000// CHECK-BE-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/sof/usr/lib{{/|\\\\}}crtn.o"
1001//
1002// = Big-endian, mips64, ABI 64, nan2008
1003// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1004// RUN: --target=mips64-linux-gnu -mips64 -mabi=64 -mnan=2008 \
1005// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1006// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-64-64 %s
1007// CHECK-BE-NAN-64-64: "-internal-isystem"
1008// CHECK-BE-NAN-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1009// CHECK-BE-NAN-64-64: "-internal-isystem"
1010// CHECK-BE-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/nan2008"
1011// CHECK-BE-NAN-64-64: "-internal-isystem"
1012// CHECK-BE-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1013// CHECK-BE-NAN-64-64: "-internal-externc-isystem"
1014// CHECK-BE-NAN-64-64: "[[TC]]/include"
1015// CHECK-BE-NAN-64-64: "-internal-externc-isystem"
1016// CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/usr/include"
1017// CHECK-BE-NAN-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001018// CHECK-BE-NAN-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001019// CHECK-BE-NAN-64-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001020// CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1021// CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1022// CHECK-BE-NAN-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001023// CHECK-BE-NAN-64-64: "-L[[TC]]/mips64/64/nan2008"
1024// CHECK-BE-NAN-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/nan2008"
1025// CHECK-BE-NAN-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001026// CHECK-BE-NAN-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtend.o"
1027// CHECK-BE-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1028//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001029// = Big-endian, mips64, ABI 64, fp64, nan2008
1030// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1031// RUN: --target=mips64-linux-gnu -mips64 -mabi=64 -mfp64 -mnan=2008 \
1032// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1033// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-64-64 %s
1034// CHECK-BE-NAN64-64-64: "-internal-isystem"
1035// CHECK-BE-NAN64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1036// CHECK-BE-NAN64-64-64: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001037// CHECK-BE-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001038// CHECK-BE-NAN64-64-64: "-internal-isystem"
1039// CHECK-BE-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1040// CHECK-BE-NAN64-64-64: "-internal-externc-isystem"
1041// CHECK-BE-NAN64-64-64: "[[TC]]/include"
1042// CHECK-BE-NAN64-64-64: "-internal-externc-isystem"
1043// CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/usr/include"
1044// CHECK-BE-NAN64-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001045// CHECK-BE-NAN64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001046// CHECK-BE-NAN64-64-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001047// CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1048// CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1049// CHECK-BE-NAN64-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtbegin.o"
1050// CHECK-BE-NAN64-64-64: "-L[[TC]]/mips64/64/nan2008"
1051// CHECK-BE-NAN64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/nan2008"
1052// CHECK-BE-NAN64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib"
1053// CHECK-BE-NAN64-64-64: "[[TC]]/mips64/64/nan2008{{/|\\\\}}crtend.o"
1054// CHECK-BE-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001055//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001056// = Big-endian, mips64r2, ABI n32, hard float
1057// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1058// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=n32 -mhard-float \
1059// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1060// RUN: | FileCheck --check-prefix=CHECK-BE-HF-64R2-N32 %s
1061// CHECK-BE-HF-64R2-N32: "-internal-isystem"
1062// CHECK-BE-HF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1063// CHECK-BE-HF-64R2-N32: "-internal-isystem"
1064// CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2"
1065// CHECK-BE-HF-64R2-N32: "-internal-isystem"
1066// CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1067// CHECK-BE-HF-64R2-N32: "-internal-externc-isystem"
1068// CHECK-BE-HF-64R2-N32: "[[TC]]/include"
1069// CHECK-BE-HF-64R2-N32: "-internal-externc-isystem"
1070// CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1071// CHECK-BE-HF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001072// CHECK-BE-HF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001073// CHECK-BE-HF-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001074// CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crt1.o"
1075// CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crti.o"
1076// CHECK-BE-HF-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001077// CHECK-BE-HF-64R2-N32: "-L[[TC]]/mips64r2"
1078// CHECK-BE-HF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2"
1079// CHECK-BE-HF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001080// CHECK-BE-HF-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtend.o"
1081// CHECK-BE-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crtn.o"
1082//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001083// = Big-endian, mips64r2, ABI n32, fp64, hard float
1084// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1085// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mhard-float \
1086// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1087// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-64R2-N32 %s
1088// CHECK-BE-HF64-64R2-N32: "-internal-isystem"
1089// CHECK-BE-HF64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1090// CHECK-BE-HF64-64R2-N32: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001091// CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001092// CHECK-BE-HF64-64R2-N32: "-internal-isystem"
1093// CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1094// CHECK-BE-HF64-64R2-N32: "-internal-externc-isystem"
1095// CHECK-BE-HF64-64R2-N32: "[[TC]]/include"
1096// CHECK-BE-HF64-64R2-N32: "-internal-externc-isystem"
1097// CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1098// CHECK-BE-HF64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001099// CHECK-BE-HF64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001100// CHECK-BE-HF64-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001101// CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crt1.o"
1102// CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crti.o"
1103// CHECK-BE-HF64-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtbegin.o"
1104// CHECK-BE-HF64-64R2-N32: "-L[[TC]]/mips64r2"
1105// CHECK-BE-HF64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2"
1106// CHECK-BE-HF64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/usr/lib"
1107// CHECK-BE-HF64-64R2-N32: "[[TC]]/mips64r2{{/|\\\\}}crtend.o"
1108// CHECK-BE-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001109//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001110// = Big-endian, mips64r2, ABI n32, soft float
1111// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1112// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=n32 -msoft-float \
1113// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1114// RUN: | FileCheck --check-prefix=CHECK-BE-SF-64R2-N32 %s
1115// CHECK-BE-SF-64R2-N32: "-internal-isystem"
1116// CHECK-BE-SF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1117// CHECK-BE-SF-64R2-N32: "-internal-isystem"
1118// CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/sof"
1119// CHECK-BE-SF-64R2-N32: "-internal-isystem"
1120// CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1121// CHECK-BE-SF-64R2-N32: "-internal-externc-isystem"
1122// CHECK-BE-SF-64R2-N32: "[[TC]]/include"
1123// CHECK-BE-SF-64R2-N32: "-internal-externc-isystem"
1124// CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1125// CHECK-BE-SF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001126// CHECK-BE-SF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001127// CHECK-BE-SF-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001128// CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib{{/|\\\\}}crt1.o"
1129// CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib{{/|\\\\}}crti.o"
1130// CHECK-BE-SF-64R2-N32: "[[TC]]/mips64r2/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001131// CHECK-BE-SF-64R2-N32: "-L[[TC]]/mips64r2/sof"
1132// CHECK-BE-SF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/sof"
1133// CHECK-BE-SF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001134// CHECK-BE-SF-64R2-N32: "[[TC]]/mips64r2/sof{{/|\\\\}}crtend.o"
1135// CHECK-BE-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/sof/usr/lib{{/|\\\\}}crtn.o"
1136//
1137// = Big-endian, mips64r2, ABI n32, nan2008
1138// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1139// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=n32 -mnan=2008 \
1140// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1141// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-64R2-N32 %s
1142// CHECK-BE-NAN-64R2-N32: "-internal-isystem"
1143// CHECK-BE-NAN-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1144// CHECK-BE-NAN-64R2-N32: "-internal-isystem"
1145// CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/nan2008"
1146// CHECK-BE-NAN-64R2-N32: "-internal-isystem"
1147// CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1148// CHECK-BE-NAN-64R2-N32: "-internal-externc-isystem"
1149// CHECK-BE-NAN-64R2-N32: "[[TC]]/include"
1150// CHECK-BE-NAN-64R2-N32: "-internal-externc-isystem"
1151// CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1152// CHECK-BE-NAN-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001153// CHECK-BE-NAN-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001154// CHECK-BE-NAN-64R2-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001155// CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crt1.o"
1156// CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crti.o"
1157// CHECK-BE-NAN-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001158// CHECK-BE-NAN-64R2-N32: "-L[[TC]]/mips64r2/nan2008"
1159// CHECK-BE-NAN-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/nan2008"
1160// CHECK-BE-NAN-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001161// CHECK-BE-NAN-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtend.o"
1162// CHECK-BE-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crtn.o"
1163//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001164// = Big-endian, mips64r2, ABI n32, fp64, nan2008
1165// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1166// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mnan=2008 \
1167// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1168// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-64R2-N32 %s
1169// CHECK-BE-NAN64-64R2-N32: "-internal-isystem"
1170// CHECK-BE-NAN64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1171// CHECK-BE-NAN64-64R2-N32: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001172// CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001173// CHECK-BE-NAN64-64R2-N32: "-internal-isystem"
1174// CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1175// CHECK-BE-NAN64-64R2-N32: "-internal-externc-isystem"
1176// CHECK-BE-NAN64-64R2-N32: "[[TC]]/include"
1177// CHECK-BE-NAN64-64R2-N32: "-internal-externc-isystem"
1178// CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
1179// CHECK-BE-NAN64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001180// CHECK-BE-NAN64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001181// CHECK-BE-NAN64-64R2-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001182// CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crt1.o"
1183// CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crti.o"
1184// CHECK-BE-NAN64-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtbegin.o"
1185// CHECK-BE-NAN64-64R2-N32: "-L[[TC]]/mips64r2/nan2008"
1186// CHECK-BE-NAN64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/nan2008"
1187// CHECK-BE-NAN64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib"
1188// CHECK-BE-NAN64-64R2-N32: "[[TC]]/mips64r2/nan2008{{/|\\\\}}crtend.o"
1189// CHECK-BE-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/nan2008/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001190//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001191// = Big-endian, mips64r2, ABI 64, hard float
1192// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1193// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=64 -mhard-float \
1194// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1195// RUN: | FileCheck --check-prefix=CHECK-BE-HF-64R2-64 %s
1196// CHECK-BE-HF-64R2-64: "-internal-isystem"
1197// CHECK-BE-HF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1198// CHECK-BE-HF-64R2-64: "-internal-isystem"
1199// CHECK-BE-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64"
1200// CHECK-BE-HF-64R2-64: "-internal-isystem"
1201// CHECK-BE-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1202// CHECK-BE-HF-64R2-64: "-internal-externc-isystem"
1203// CHECK-BE-HF-64R2-64: "[[TC]]/include"
1204// CHECK-BE-HF-64R2-64: "-internal-externc-isystem"
1205// CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1206// CHECK-BE-HF-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001207// CHECK-BE-HF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001208// CHECK-BE-HF-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001209// CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crt1.o"
1210// CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crti.o"
1211// CHECK-BE-HF-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001212// CHECK-BE-HF-64R2-64: "-L[[TC]]/mips64r2/64"
1213// CHECK-BE-HF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64"
1214// CHECK-BE-HF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001215// CHECK-BE-HF-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtend.o"
1216// CHECK-BE-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crtn.o"
1217//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001218// = Big-endian, mips64r2, ABI 64, fp64, hard float
1219// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1220// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=64 -mfp64 -mhard-float \
1221// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1222// RUN: | FileCheck --check-prefix=CHECK-BE-HF64-64R2-64 %s
1223// CHECK-BE-HF64-64R2-64: "-internal-isystem"
1224// CHECK-BE-HF64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1225// CHECK-BE-HF64-64R2-64: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001226// CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001227// CHECK-BE-HF64-64R2-64: "-internal-isystem"
1228// CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1229// CHECK-BE-HF64-64R2-64: "-internal-externc-isystem"
1230// CHECK-BE-HF64-64R2-64: "[[TC]]/include"
1231// CHECK-BE-HF64-64R2-64: "-internal-externc-isystem"
1232// CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1233// CHECK-BE-HF64-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001234// CHECK-BE-HF64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001235// CHECK-BE-HF64-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001236// CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crt1.o"
1237// CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crti.o"
1238// CHECK-BE-HF64-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtbegin.o"
1239// CHECK-BE-HF64-64R2-64: "-L[[TC]]/mips64r2/64"
1240// CHECK-BE-HF64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64"
1241// CHECK-BE-HF64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/usr/lib"
1242// CHECK-BE-HF64-64R2-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtend.o"
1243// CHECK-BE-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001244//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001245// = Big-endian, mips64r2, ABI 64, soft float
1246// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1247// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=64 -msoft-float \
1248// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1249// RUN: | FileCheck --check-prefix=CHECK-BE-SF-64R2-64 %s
1250// CHECK-BE-SF-64R2-64: "-internal-isystem"
1251// CHECK-BE-SF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1252// CHECK-BE-SF-64R2-64: "-internal-isystem"
1253// CHECK-BE-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/sof"
1254// CHECK-BE-SF-64R2-64: "-internal-isystem"
1255// CHECK-BE-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1256// CHECK-BE-SF-64R2-64: "-internal-externc-isystem"
1257// CHECK-BE-SF-64R2-64: "[[TC]]/include"
1258// CHECK-BE-SF-64R2-64: "-internal-externc-isystem"
1259// CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1260// CHECK-BE-SF-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001261// CHECK-BE-SF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001262// CHECK-BE-SF-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001263// CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib{{/|\\\\}}crt1.o"
1264// CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib{{/|\\\\}}crti.o"
1265// CHECK-BE-SF-64R2-64: "[[TC]]/mips64r2/64/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001266// CHECK-BE-SF-64R2-64: "-L[[TC]]/mips64r2/64/sof"
1267// CHECK-BE-SF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/sof"
1268// CHECK-BE-SF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001269// CHECK-BE-SF-64R2-64: "[[TC]]/mips64r2/64/sof{{/|\\\\}}crtend.o"
1270// CHECK-BE-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/sof/usr/lib{{/|\\\\}}crtn.o"
1271//
1272// = Big-endian, mips64r2, ABI 64, nan2008
1273// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1274// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=64 -mnan=2008 \
1275// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1276// RUN: | FileCheck --check-prefix=CHECK-BE-NAN-64R2-64 %s
1277// CHECK-BE-NAN-64R2-64: "-internal-isystem"
1278// CHECK-BE-NAN-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1279// CHECK-BE-NAN-64R2-64: "-internal-isystem"
1280// CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/nan2008"
1281// CHECK-BE-NAN-64R2-64: "-internal-isystem"
1282// CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1283// CHECK-BE-NAN-64R2-64: "-internal-externc-isystem"
1284// CHECK-BE-NAN-64R2-64: "[[TC]]/include"
1285// CHECK-BE-NAN-64R2-64: "-internal-externc-isystem"
1286// CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1287// CHECK-BE-NAN-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001288// CHECK-BE-NAN-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001289// CHECK-BE-NAN-64R2-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001290// CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1291// CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1292// CHECK-BE-NAN-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001293// CHECK-BE-NAN-64R2-64: "-L[[TC]]/mips64r2/64/nan2008"
1294// CHECK-BE-NAN-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/nan2008"
1295// CHECK-BE-NAN-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001296// CHECK-BE-NAN-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtend.o"
1297// CHECK-BE-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
1298//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001299// = Big-endian, mips64r2, ABI 64, fp64, nan2008
1300// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1301// RUN: --target=mips64-linux-gnu -mips64r2 -mabi=64 -mfp64 -mnan=2008 \
1302// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1303// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-64R2-64 %s
1304// CHECK-BE-NAN64-64R2-64: "-internal-isystem"
1305// CHECK-BE-NAN64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1306// CHECK-BE-NAN64-64R2-64: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001307// CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001308// CHECK-BE-NAN64-64R2-64: "-internal-isystem"
1309// CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1310// CHECK-BE-NAN64-64R2-64: "-internal-externc-isystem"
1311// CHECK-BE-NAN64-64R2-64: "[[TC]]/include"
1312// CHECK-BE-NAN64-64R2-64: "-internal-externc-isystem"
1313// CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
1314// CHECK-BE-NAN64-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001315// CHECK-BE-NAN64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001316// CHECK-BE-NAN64-64R2-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001317// CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1318// CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1319// CHECK-BE-NAN64-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtbegin.o"
1320// CHECK-BE-NAN64-64R2-64: "-L[[TC]]/mips64r2/64/nan2008"
1321// CHECK-BE-NAN64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/nan2008"
1322// CHECK-BE-NAN64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib"
1323// CHECK-BE-NAN64-64R2-64: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtend.o"
1324// CHECK-BE-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001325//
Simon Atanasyan9988e3a2014-07-16 17:34:54 +00001326// = Big-endian, default (mips64r2), ABI 64, fp64, nan2008
1327// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1328// RUN: --target=mips64-linux-gnu -mabi=64 -mfp64 -mnan=2008 \
1329// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1330// RUN: | FileCheck --check-prefix=CHECK-BE-NAN64-64R2-64-DEF %s
1331// CHECK-BE-NAN64-64R2-64-DEF: "-internal-isystem"
1332// CHECK-BE-NAN64-64R2-64-DEF: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1333// CHECK-BE-NAN64-64R2-64-DEF: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001334// CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/nan2008"
Simon Atanasyan9988e3a2014-07-16 17:34:54 +00001335// CHECK-BE-NAN64-64R2-64-DEF: "-internal-isystem"
1336// CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1337// CHECK-BE-NAN64-64R2-64-DEF: "-internal-externc-isystem"
1338// CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/include"
1339// CHECK-BE-NAN64-64R2-64-DEF: "-internal-externc-isystem"
1340// CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/usr/include"
1341// CHECK-BE-NAN64-64R2-64-DEF: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001342// CHECK-BE-NAN64-64R2-64-DEF: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001343// CHECK-BE-NAN64-64R2-64-DEF: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001344// CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crt1.o"
1345// CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crti.o"
1346// CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtbegin.o"
1347// CHECK-BE-NAN64-64R2-64-DEF: "-L[[TC]]/mips64r2/64/nan2008"
1348// CHECK-BE-NAN64-64R2-64-DEF: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/nan2008"
1349// CHECK-BE-NAN64-64R2-64-DEF: "-L[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib"
1350// CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/mips64r2/64/nan2008{{/|\\\\}}crtend.o"
1351// CHECK-BE-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/nan2008/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan9988e3a2014-07-16 17:34:54 +00001352//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001353// = Little-endian, mips32, hard float
1354// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1355// RUN: --target=mipsel-linux-gnu -mips32 -mhard-float \
1356// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1357// RUN: | FileCheck --check-prefix=CHECK-EL-HF-32 %s
1358// CHECK-EL-HF-32: "-internal-isystem"
1359// CHECK-EL-HF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1360// CHECK-EL-HF-32: "-internal-isystem"
1361// CHECK-EL-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el"
1362// CHECK-EL-HF-32: "-internal-isystem"
1363// CHECK-EL-HF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1364// CHECK-EL-HF-32: "-internal-externc-isystem"
1365// CHECK-EL-HF-32: "[[TC]]/include"
1366// CHECK-EL-HF-32: "-internal-externc-isystem"
1367// CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/usr/include"
1368// CHECK-EL-HF-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001369// CHECK-EL-HF-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001370// CHECK-EL-HF-32: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001371// CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1372// CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crti.o"
1373// CHECK-EL-HF-32: "[[TC]]/mips32/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001374// CHECK-EL-HF-32: "-L[[TC]]/mips32/el"
1375// CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el"
1376// CHECK-EL-HF-32: "-L[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001377// CHECK-EL-HF-32: "[[TC]]/mips32/el{{/|\\\\}}crtend.o"
1378// CHECK-EL-HF-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1379//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001380// = Little-endian, mips32, fp64, hard float
1381// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1382// RUN: --target=mipsel-linux-gnu -mips32 -mfp64 -mhard-float \
1383// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1384// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-32 %s
1385// CHECK-EL-HF64-32: "-internal-isystem"
1386// CHECK-EL-HF64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1387// CHECK-EL-HF64-32: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001388// CHECK-EL-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001389// CHECK-EL-HF64-32: "-internal-isystem"
1390// CHECK-EL-HF64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1391// CHECK-EL-HF64-32: "-internal-externc-isystem"
1392// CHECK-EL-HF64-32: "[[TC]]/include"
1393// CHECK-EL-HF64-32: "-internal-externc-isystem"
1394// CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/usr/include"
1395// CHECK-EL-HF64-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001396// CHECK-EL-HF64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001397// CHECK-EL-HF64-32: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001398// CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1399// CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crti.o"
1400// CHECK-EL-HF64-32: "[[TC]]/mips32/el{{/|\\\\}}crtbegin.o"
1401// CHECK-EL-HF64-32: "-L[[TC]]/mips32/el"
1402// CHECK-EL-HF64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el"
1403// CHECK-EL-HF64-32: "-L[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib"
1404// CHECK-EL-HF64-32: "[[TC]]/mips32/el{{/|\\\\}}crtend.o"
1405// CHECK-EL-HF64-32: "[[TC]]/../../../../sysroot/mips32/el/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001406//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001407// = Little-endian, mips32, soft float
1408// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1409// RUN: --target=mipsel-linux-gnu -mips32 -msoft-float \
1410// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1411// RUN: | FileCheck --check-prefix=CHECK-EL-SF-32 %s
1412// CHECK-EL-SF-32: "-internal-isystem"
1413// CHECK-EL-SF-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1414// CHECK-EL-SF-32: "-internal-isystem"
1415// CHECK-EL-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el/sof"
1416// CHECK-EL-SF-32: "-internal-isystem"
1417// CHECK-EL-SF-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1418// CHECK-EL-SF-32: "-internal-externc-isystem"
1419// CHECK-EL-SF-32: "[[TC]]/include"
1420// CHECK-EL-SF-32: "-internal-externc-isystem"
1421// CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/usr/include"
1422// CHECK-EL-SF-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001423// CHECK-EL-SF-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001424// CHECK-EL-SF-32: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001425// CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1426// CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1427// CHECK-EL-SF-32: "[[TC]]/mips32/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001428// CHECK-EL-SF-32: "-L[[TC]]/mips32/el/sof"
1429// CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el/sof"
1430// CHECK-EL-SF-32: "-L[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001431// CHECK-EL-SF-32: "[[TC]]/mips32/el/sof{{/|\\\\}}crtend.o"
1432// CHECK-EL-SF-32: "[[TC]]/../../../../sysroot/mips32/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1433//
1434// = Little-endian, mips32 / mips16, hard float
1435// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1436// RUN: --target=mipsel-linux-gnu -mips32 -mips16 -mhard-float \
1437// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1438// RUN: | FileCheck --check-prefix=CHECK-EL-HF-16 %s
1439// CHECK-EL-HF-16: "-internal-isystem"
1440// CHECK-EL-HF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1441// CHECK-EL-HF-16: "-internal-isystem"
1442// CHECK-EL-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el"
1443// CHECK-EL-HF-16: "-internal-isystem"
1444// CHECK-EL-HF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1445// CHECK-EL-HF-16: "-internal-externc-isystem"
1446// CHECK-EL-HF-16: "[[TC]]/include"
1447// CHECK-EL-HF-16: "-internal-externc-isystem"
1448// CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/usr/include"
1449// CHECK-EL-HF-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001450// CHECK-EL-HF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001451// CHECK-EL-HF-16: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001452// CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1453// CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
1454// CHECK-EL-HF-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001455// CHECK-EL-HF-16: "-L[[TC]]/mips32/mips16/el"
1456// CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el"
1457// CHECK-EL-HF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001458// CHECK-EL-HF-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtend.o"
1459// CHECK-EL-HF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1460//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001461// = Little-endian, mips32 / mips16, fp64, hard float
1462// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1463// RUN: --target=mipsel-linux-gnu -mips32 -mips16 -mfp64 -mhard-float \
1464// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1465// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-16 %s
1466// CHECK-EL-HF64-16: "-internal-isystem"
1467// CHECK-EL-HF64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1468// CHECK-EL-HF64-16: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001469// CHECK-EL-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001470// CHECK-EL-HF64-16: "-internal-isystem"
1471// CHECK-EL-HF64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1472// CHECK-EL-HF64-16: "-internal-externc-isystem"
1473// CHECK-EL-HF64-16: "[[TC]]/include"
1474// CHECK-EL-HF64-16: "-internal-externc-isystem"
1475// CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/usr/include"
1476// CHECK-EL-HF64-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001477// CHECK-EL-HF64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001478// CHECK-EL-HF64-16: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001479// CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1480// CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
1481// CHECK-EL-HF64-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtbegin.o"
1482// CHECK-EL-HF64-16: "-L[[TC]]/mips32/mips16/el"
1483// CHECK-EL-HF64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el"
1484// CHECK-EL-HF64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib"
1485// CHECK-EL-HF64-16: "[[TC]]/mips32/mips16/el{{/|\\\\}}crtend.o"
1486// CHECK-EL-HF64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001487//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001488// = Little-endian, mips32 / mips16, soft float
1489// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1490// RUN: --target=mipsel-linux-gnu -mips32 -mips16 -msoft-float \
1491// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1492// RUN: | FileCheck --check-prefix=CHECK-EL-SF-16 %s
1493// CHECK-EL-SF-16: "-internal-isystem"
1494// CHECK-EL-SF-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1495// CHECK-EL-SF-16: "-internal-isystem"
1496// CHECK-EL-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el/sof"
1497// CHECK-EL-SF-16: "-internal-isystem"
1498// CHECK-EL-SF-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1499// CHECK-EL-SF-16: "-internal-externc-isystem"
1500// CHECK-EL-SF-16: "[[TC]]/include"
1501// CHECK-EL-SF-16: "-internal-externc-isystem"
1502// CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/usr/include"
1503// CHECK-EL-SF-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001504// CHECK-EL-SF-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001505// CHECK-EL-SF-16: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001506// CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1507// CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1508// CHECK-EL-SF-16: "[[TC]]/mips32/mips16/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001509// CHECK-EL-SF-16: "-L[[TC]]/mips32/mips16/el/sof"
1510// CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el/sof"
1511// CHECK-EL-SF-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001512// CHECK-EL-SF-16: "[[TC]]/mips32/mips16/el/sof{{/|\\\\}}crtend.o"
1513// CHECK-EL-SF-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1514//
1515// = Little-endian, mips32 / mips16, nan2008
1516// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1517// RUN: --target=mipsel-linux-gnu -mips32 -mips16 -mnan=2008 \
1518// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1519// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-16 %s
1520// CHECK-EL-NAN-16: "-internal-isystem"
1521// CHECK-EL-NAN-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1522// CHECK-EL-NAN-16: "-internal-isystem"
1523// CHECK-EL-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el/nan2008"
1524// CHECK-EL-NAN-16: "-internal-isystem"
1525// CHECK-EL-NAN-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1526// CHECK-EL-NAN-16: "-internal-externc-isystem"
1527// CHECK-EL-NAN-16: "[[TC]]/include"
1528// CHECK-EL-NAN-16: "-internal-externc-isystem"
1529// CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/usr/include"
1530// CHECK-EL-NAN-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001531// CHECK-EL-NAN-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001532// CHECK-EL-NAN-16: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001533// CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1534// CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1535// CHECK-EL-NAN-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001536// CHECK-EL-NAN-16: "-L[[TC]]/mips32/mips16/el/nan2008"
1537// CHECK-EL-NAN-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el/nan2008"
1538// CHECK-EL-NAN-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001539// CHECK-EL-NAN-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtend.o"
1540// CHECK-EL-NAN-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1541//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001542// = Little-endian, mips32 / mips16, fp64, nan2008
1543// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1544// RUN: --target=mipsel-linux-gnu -mips32 -mips16 -mfp64 -mnan=2008 \
1545// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1546// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-16 %s
1547// CHECK-EL-NAN64-16: "-internal-isystem"
1548// CHECK-EL-NAN64-16: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1549// CHECK-EL-NAN64-16: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001550// CHECK-EL-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/mips16/el/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001551// CHECK-EL-NAN64-16: "-internal-isystem"
1552// CHECK-EL-NAN64-16: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1553// CHECK-EL-NAN64-16: "-internal-externc-isystem"
1554// CHECK-EL-NAN64-16: "[[TC]]/include"
1555// CHECK-EL-NAN64-16: "-internal-externc-isystem"
1556// CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/usr/include"
1557// CHECK-EL-NAN64-16: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001558// CHECK-EL-NAN64-16: "--sysroot=[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001559// CHECK-EL-NAN64-16: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001560// CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1561// CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1562// CHECK-EL-NAN64-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
1563// CHECK-EL-NAN64-16: "-L[[TC]]/mips32/mips16/el/nan2008"
1564// CHECK-EL-NAN64-16: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/mips16/el/nan2008"
1565// CHECK-EL-NAN64-16: "-L[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib"
1566// CHECK-EL-NAN64-16: "[[TC]]/mips32/mips16/el/nan2008{{/|\\\\}}crtend.o"
1567// CHECK-EL-NAN64-16: "[[TC]]/../../../../sysroot/mips32/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001568//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001569// = Little-endian, mips32, nan2008
1570// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1571// RUN: --target=mipsel-linux-gnu -mips32 -mnan=2008 \
1572// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1573// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-32 %s
1574// CHECK-EL-NAN-32: "-internal-isystem"
1575// CHECK-EL-NAN-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1576// CHECK-EL-NAN-32: "-internal-isystem"
1577// CHECK-EL-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el/nan2008"
1578// CHECK-EL-NAN-32: "-internal-isystem"
1579// CHECK-EL-NAN-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1580// CHECK-EL-NAN-32: "-internal-externc-isystem"
1581// CHECK-EL-NAN-32: "[[TC]]/include"
1582// CHECK-EL-NAN-32: "-internal-externc-isystem"
1583// CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/usr/include"
1584// CHECK-EL-NAN-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001585// CHECK-EL-NAN-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001586// CHECK-EL-NAN-32: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001587// CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1588// CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1589// CHECK-EL-NAN-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001590// CHECK-EL-NAN-32: "-L[[TC]]/mips32/el/nan2008"
1591// CHECK-EL-NAN-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el/nan2008"
1592// CHECK-EL-NAN-32: "-L[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001593// CHECK-EL-NAN-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtend.o"
1594// CHECK-EL-NAN-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1595//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001596// = Little-endian, mips32, fp64, nan2008
1597// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1598// RUN: --target=mipsel-linux-gnu -mips32 -mfp64 -mnan=2008 \
1599// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1600// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-32 %s
1601// CHECK-EL-NAN64-32: "-internal-isystem"
1602// CHECK-EL-NAN64-32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1603// CHECK-EL-NAN64-32: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001604// CHECK-EL-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips32/el/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001605// CHECK-EL-NAN64-32: "-internal-isystem"
1606// CHECK-EL-NAN64-32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1607// CHECK-EL-NAN64-32: "-internal-externc-isystem"
1608// CHECK-EL-NAN64-32: "[[TC]]/include"
1609// CHECK-EL-NAN64-32: "-internal-externc-isystem"
1610// CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/usr/include"
1611// CHECK-EL-NAN64-32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001612// CHECK-EL-NAN64-32: "--sysroot=[[TC]]/../../../../sysroot/mips32/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001613// CHECK-EL-NAN64-32: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001614// CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1615// CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1616// CHECK-EL-NAN64-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtbegin.o"
1617// CHECK-EL-NAN64-32: "-L[[TC]]/mips32/el/nan2008"
1618// CHECK-EL-NAN64-32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips32/el/nan2008"
1619// CHECK-EL-NAN64-32: "-L[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib"
1620// CHECK-EL-NAN64-32: "[[TC]]/mips32/el/nan2008{{/|\\\\}}crtend.o"
1621// CHECK-EL-NAN64-32: "[[TC]]/../../../../sysroot/mips32/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001622//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001623// = Little-endian, mips32r2, hard float
1624// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1625// RUN: --target=mipsel-linux-gnu -mips32r2 -mhard-float \
1626// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1627// RUN: | FileCheck --check-prefix=CHECK-EL-HF-32R2 %s
1628// CHECK-EL-HF-32R2: "-internal-isystem"
1629// CHECK-EL-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1630// CHECK-EL-HF-32R2: "-internal-isystem"
1631// CHECK-EL-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el"
1632// CHECK-EL-HF-32R2: "-internal-isystem"
1633// CHECK-EL-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1634// CHECK-EL-HF-32R2: "-internal-externc-isystem"
1635// CHECK-EL-HF-32R2: "[[TC]]/include"
1636// CHECK-EL-HF-32R2: "-internal-externc-isystem"
1637// CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/usr/include"
1638// CHECK-EL-HF-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001639// CHECK-EL-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001640// CHECK-EL-HF-32R2: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001641// CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1642// CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crti.o"
1643// CHECK-EL-HF-32R2: "[[TC]]/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001644// CHECK-EL-HF-32R2: "-L[[TC]]/el"
1645// CHECK-EL-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el"
1646// CHECK-EL-HF-32R2: "-L[[TC]]/../../../../sysroot/el/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001647// CHECK-EL-HF-32R2: "[[TC]]/el{{/|\\\\}}crtend.o"
1648// CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1649//
Simon Atanasyand95c67d2014-08-13 14:34:14 +00001650// = Little-endian, mips32r2, hard float, uclibc
1651// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1652// RUN: --target=mipsel-linux-gnu -mips32r2 -mhard-float -muclibc \
1653// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1654// RUN: | FileCheck --check-prefix=CHECK-EL-UC-HF-32R2 %s
1655// CHECK-EL-UC-HF-32R2: "-internal-isystem"
1656// CHECK-EL-UC-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1657// CHECK-EL-UC-HF-32R2: "-internal-isystem"
1658// CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/el"
1659// CHECK-EL-UC-HF-32R2: "-internal-isystem"
1660// CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1661// CHECK-EL-UC-HF-32R2: "-internal-externc-isystem"
1662// CHECK-EL-UC-HF-32R2: "[[TC]]/include"
1663// CHECK-EL-UC-HF-32R2: "-internal-externc-isystem"
1664// CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
1665// CHECK-EL-UC-HF-32R2: "{{.*}}ld{{(.exe)?}}"
1666// CHECK-EL-UC-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/el"
1667// CHECK-EL-UC-HF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
1668// CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1669// CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib{{/|\\\\}}crti.o"
1670// CHECK-EL-UC-HF-32R2: "[[TC]]/uclibc/el{{/|\\\\}}crtbegin.o"
1671// CHECK-EL-UC-HF-32R2: "-L[[TC]]/uclibc/el"
1672// CHECK-EL-UC-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/el"
1673// CHECK-EL-UC-HF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib"
1674// CHECK-EL-UC-HF-32R2: "[[TC]]/uclibc/el{{/|\\\\}}crtend.o"
1675// CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1676//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001677// = Little-endian, mips32r2, fp64, hard float
1678// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1679// RUN: --target=mipsel-linux-gnu -mips32r2 -mfp64 -mhard-float \
1680// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1681// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-32R2 %s
1682// CHECK-EL-HF64-32R2: "-internal-isystem"
1683// CHECK-EL-HF64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1684// CHECK-EL-HF64-32R2: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001685// CHECK-EL-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001686// CHECK-EL-HF64-32R2: "-internal-isystem"
1687// CHECK-EL-HF64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1688// CHECK-EL-HF64-32R2: "-internal-externc-isystem"
1689// CHECK-EL-HF64-32R2: "[[TC]]/include"
1690// CHECK-EL-HF64-32R2: "-internal-externc-isystem"
1691// CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/usr/include"
1692// CHECK-EL-HF64-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001693// CHECK-EL-HF64-32R2: "--sysroot=[[TC]]/../../../../sysroot/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001694// CHECK-EL-HF64-32R2: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001695// CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1696// CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crti.o"
1697// CHECK-EL-HF64-32R2: "[[TC]]/el{{/|\\\\}}crtbegin.o"
1698// CHECK-EL-HF64-32R2: "-L[[TC]]/el"
1699// CHECK-EL-HF64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el"
1700// CHECK-EL-HF64-32R2: "-L[[TC]]/../../../../sysroot/el/usr/lib/../lib"
1701// CHECK-EL-HF64-32R2: "[[TC]]/el{{/|\\\\}}crtend.o"
1702// CHECK-EL-HF64-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001703//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001704// = Little-endian, mips32r2, soft float
1705// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1706// RUN: --target=mipsel-linux-gnu -mips32r2 -msoft-float \
1707// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1708// RUN: | FileCheck --check-prefix=CHECK-EL-SF-32R2 %s
1709// CHECK-EL-SF-32R2: "-internal-isystem"
1710// CHECK-EL-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1711// CHECK-EL-SF-32R2: "-internal-isystem"
1712// CHECK-EL-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/sof"
1713// CHECK-EL-SF-32R2: "-internal-isystem"
1714// CHECK-EL-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1715// CHECK-EL-SF-32R2: "-internal-externc-isystem"
1716// CHECK-EL-SF-32R2: "[[TC]]/include"
1717// CHECK-EL-SF-32R2: "-internal-externc-isystem"
1718// CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/usr/include"
1719// CHECK-EL-SF-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001720// CHECK-EL-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/el/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001721// CHECK-EL-SF-32R2: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001722// CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1723// CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1724// CHECK-EL-SF-32R2: "[[TC]]/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001725// CHECK-EL-SF-32R2: "-L[[TC]]/el/sof"
1726// CHECK-EL-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/sof"
1727// CHECK-EL-SF-32R2: "-L[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001728// CHECK-EL-SF-32R2: "[[TC]]/el/sof{{/|\\\\}}crtend.o"
1729// CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1730//
Simon Atanasyand95c67d2014-08-13 14:34:14 +00001731// = Little-endian, mips32r2, soft float, uclibc
1732// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1733// RUN: --target=mipsel-linux-gnu -mips32r2 -msoft-float -muclibc \
1734// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1735// RUN: | FileCheck --check-prefix=CHECK-EL-UC-SF-32R2 %s
1736// CHECK-EL-UC-SF-32R2: "-internal-isystem"
1737// CHECK-EL-UC-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1738// CHECK-EL-UC-SF-32R2: "-internal-isystem"
1739// CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/el/sof"
1740// CHECK-EL-UC-SF-32R2: "-internal-isystem"
1741// CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1742// CHECK-EL-UC-SF-32R2: "-internal-externc-isystem"
1743// CHECK-EL-UC-SF-32R2: "[[TC]]/include"
1744// CHECK-EL-UC-SF-32R2: "-internal-externc-isystem"
1745// CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
1746// CHECK-EL-UC-SF-32R2: "{{.*}}ld{{(.exe)?}}"
1747// CHECK-EL-UC-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/el/sof"
1748// CHECK-EL-UC-SF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
1749// CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1750// CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1751// CHECK-EL-UC-SF-32R2: "[[TC]]/uclibc/el/sof{{/|\\\\}}crtbegin.o"
1752// CHECK-EL-UC-SF-32R2: "-L[[TC]]/uclibc/el/sof"
1753// CHECK-EL-UC-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/el/sof"
1754// CHECK-EL-UC-SF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib"
1755// CHECK-EL-UC-SF-32R2: "[[TC]]/uclibc/el/sof{{/|\\\\}}crtend.o"
1756// CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1757//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001758// = Little-endian, mips32r2 / mips16, hard float
1759// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1760// RUN: --target=mipsel-linux-gnu -mips32r2 -mips16 -mhard-float \
1761// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1762// RUN: | FileCheck --check-prefix=CHECK-EL-HF-16R2 %s
1763// CHECK-EL-HF-16R2: "-internal-isystem"
1764// CHECK-EL-HF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1765// CHECK-EL-HF-16R2: "-internal-isystem"
1766// CHECK-EL-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el"
1767// CHECK-EL-HF-16R2: "-internal-isystem"
1768// CHECK-EL-HF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1769// CHECK-EL-HF-16R2: "-internal-externc-isystem"
1770// CHECK-EL-HF-16R2: "[[TC]]/include"
1771// CHECK-EL-HF-16R2: "-internal-externc-isystem"
1772// CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/usr/include"
1773// CHECK-EL-HF-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001774// CHECK-EL-HF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001775// CHECK-EL-HF-16R2: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001776// CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1777// CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
1778// CHECK-EL-HF-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001779// CHECK-EL-HF-16R2: "-L[[TC]]/mips16/el"
1780// CHECK-EL-HF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el"
1781// CHECK-EL-HF-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001782// CHECK-EL-HF-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtend.o"
1783// CHECK-EL-HF-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
1784//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001785// = Little-endian, mips32r2 / mips16, fp64, hard float
1786// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1787// RUN: --target=mipsel-linux-gnu -mips32r2 -mips16 -mfp64 -mhard-float \
1788// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1789// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-16R2 %s
1790// CHECK-EL-HF64-16R2: "-internal-isystem"
1791// CHECK-EL-HF64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1792// CHECK-EL-HF64-16R2: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001793// CHECK-EL-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001794// CHECK-EL-HF64-16R2: "-internal-isystem"
1795// CHECK-EL-HF64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1796// CHECK-EL-HF64-16R2: "-internal-externc-isystem"
1797// CHECK-EL-HF64-16R2: "[[TC]]/include"
1798// CHECK-EL-HF64-16R2: "-internal-externc-isystem"
1799// CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/usr/include"
1800// CHECK-EL-HF64-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001801// CHECK-EL-HF64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001802// CHECK-EL-HF64-16R2: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001803// CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
1804// CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
1805// CHECK-EL-HF64-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtbegin.o"
1806// CHECK-EL-HF64-16R2: "-L[[TC]]/mips16/el"
1807// CHECK-EL-HF64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el"
1808// CHECK-EL-HF64-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib"
1809// CHECK-EL-HF64-16R2: "[[TC]]/mips16/el{{/|\\\\}}crtend.o"
1810// CHECK-EL-HF64-16R2: "[[TC]]/../../../../sysroot/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001811//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001812// = Little-endian, mips32r2 / mips16, soft float
1813// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1814// RUN: --target=mipsel-linux-gnu -mips32r2 -mips16 -msoft-float \
1815// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1816// RUN: | FileCheck --check-prefix=CHECK-EL-SF-16R2 %s
1817// CHECK-EL-SF-16R2: "-internal-isystem"
1818// CHECK-EL-SF-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1819// CHECK-EL-SF-16R2: "-internal-isystem"
1820// CHECK-EL-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el/sof"
1821// CHECK-EL-SF-16R2: "-internal-isystem"
1822// CHECK-EL-SF-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1823// CHECK-EL-SF-16R2: "-internal-externc-isystem"
1824// CHECK-EL-SF-16R2: "[[TC]]/include"
1825// CHECK-EL-SF-16R2: "-internal-externc-isystem"
1826// CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/usr/include"
1827// CHECK-EL-SF-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001828// CHECK-EL-SF-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001829// CHECK-EL-SF-16R2: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001830// CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
1831// CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
1832// CHECK-EL-SF-16R2: "[[TC]]/mips16/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001833// CHECK-EL-SF-16R2: "-L[[TC]]/mips16/el/sof"
1834// CHECK-EL-SF-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el/sof"
1835// CHECK-EL-SF-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001836// CHECK-EL-SF-16R2: "[[TC]]/mips16/el/sof{{/|\\\\}}crtend.o"
1837// CHECK-EL-SF-16R2: "[[TC]]/../../../../sysroot/mips16/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
1838//
1839// = Little-endian, mips32r2 / mips16, nan2008
1840// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1841// RUN: --target=mipsel-linux-gnu -mips32r2 -mips16 -mnan=2008 \
1842// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1843// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-16R2 %s
1844// CHECK-EL-NAN-16R2: "-internal-isystem"
1845// CHECK-EL-NAN-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1846// CHECK-EL-NAN-16R2: "-internal-isystem"
1847// CHECK-EL-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el/nan2008"
1848// CHECK-EL-NAN-16R2: "-internal-isystem"
1849// CHECK-EL-NAN-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1850// CHECK-EL-NAN-16R2: "-internal-externc-isystem"
1851// CHECK-EL-NAN-16R2: "[[TC]]/include"
1852// CHECK-EL-NAN-16R2: "-internal-externc-isystem"
1853// CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/usr/include"
1854// CHECK-EL-NAN-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001855// CHECK-EL-NAN-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001856// CHECK-EL-NAN-16R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001857// CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1858// CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1859// CHECK-EL-NAN-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001860// CHECK-EL-NAN-16R2: "-L[[TC]]/mips16/el/nan2008"
1861// CHECK-EL-NAN-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el/nan2008"
1862// CHECK-EL-NAN-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001863// CHECK-EL-NAN-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtend.o"
1864// CHECK-EL-NAN-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1865//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001866// = Little-endian, mips32r2 / mips16, fp64, nan2008
1867// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1868// RUN: --target=mipsel-linux-gnu -mips32r2 -mips16 -mfp64 -mnan=2008 \
1869// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1870// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-16R2 %s
1871// CHECK-EL-NAN64-16R2: "-internal-isystem"
1872// CHECK-EL-NAN64-16R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1873// CHECK-EL-NAN64-16R2: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001874// CHECK-EL-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips16/el/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001875// CHECK-EL-NAN64-16R2: "-internal-isystem"
1876// CHECK-EL-NAN64-16R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1877// CHECK-EL-NAN64-16R2: "-internal-externc-isystem"
1878// CHECK-EL-NAN64-16R2: "[[TC]]/include"
1879// CHECK-EL-NAN64-16R2: "-internal-externc-isystem"
1880// CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/usr/include"
1881// CHECK-EL-NAN64-16R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001882// CHECK-EL-NAN64-16R2: "--sysroot=[[TC]]/../../../../sysroot/mips16/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001883// CHECK-EL-NAN64-16R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001884// CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1885// CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1886// CHECK-EL-NAN64-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtbegin.o"
1887// CHECK-EL-NAN64-16R2: "-L[[TC]]/mips16/el/nan2008"
1888// CHECK-EL-NAN64-16R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/mips16/el/nan2008"
1889// CHECK-EL-NAN64-16R2: "-L[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib"
1890// CHECK-EL-NAN64-16R2: "[[TC]]/mips16/el/nan2008{{/|\\\\}}crtend.o"
1891// CHECK-EL-NAN64-16R2: "[[TC]]/../../../../sysroot/mips16/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001892//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001893// = Little-endian, mips32r2, nan2008
1894// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1895// RUN: --target=mipsel-linux-gnu -mips32r2 -mnan=2008 \
1896// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1897// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-32R2 %s
1898// CHECK-EL-NAN-32R2: "-internal-isystem"
1899// CHECK-EL-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1900// CHECK-EL-NAN-32R2: "-internal-isystem"
1901// CHECK-EL-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/nan2008"
1902// CHECK-EL-NAN-32R2: "-internal-isystem"
1903// CHECK-EL-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1904// CHECK-EL-NAN-32R2: "-internal-externc-isystem"
1905// CHECK-EL-NAN-32R2: "[[TC]]/include"
1906// CHECK-EL-NAN-32R2: "-internal-externc-isystem"
1907// CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/usr/include"
1908// CHECK-EL-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001909// CHECK-EL-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001910// CHECK-EL-NAN-32R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001911// CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1912// CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1913// CHECK-EL-NAN-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00001914// CHECK-EL-NAN-32R2: "-L[[TC]]/el/nan2008"
1915// CHECK-EL-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/nan2008"
1916// CHECK-EL-NAN-32R2: "-L[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00001917// CHECK-EL-NAN-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtend.o"
1918// CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1919//
Simon Atanasyand95c67d2014-08-13 14:34:14 +00001920// = Little-endian, mips32r2, nan2008, uclibc
1921// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1922// RUN: --target=mipsel-linux-gnu -mips32r2 -mnan=2008 -muclibc \
1923// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1924// RUN: | FileCheck --check-prefix=CHECK-EL-UC-NAN-32R2 %s
1925// CHECK-EL-UC-NAN-32R2: "-internal-isystem"
1926// CHECK-EL-UC-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1927// CHECK-EL-UC-NAN-32R2: "-internal-isystem"
1928// CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/el/nan2008"
1929// CHECK-EL-UC-NAN-32R2: "-internal-isystem"
1930// CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1931// CHECK-EL-UC-NAN-32R2: "-internal-externc-isystem"
1932// CHECK-EL-UC-NAN-32R2: "[[TC]]/include"
1933// CHECK-EL-UC-NAN-32R2: "-internal-externc-isystem"
1934// CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
1935// CHECK-EL-UC-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
1936// CHECK-EL-UC-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/el/nan2008"
1937// CHECK-EL-UC-NAN-32R2: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0"
1938// CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1939// CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1940// CHECK-EL-UC-NAN-32R2: "[[TC]]/uclibc/el/nan2008{{/|\\\\}}crtbegin.o"
1941// CHECK-EL-UC-NAN-32R2: "-L[[TC]]/uclibc/el/nan2008"
1942// CHECK-EL-UC-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/el/nan2008"
1943// CHECK-EL-UC-NAN-32R2: "-L[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib"
1944// CHECK-EL-UC-NAN-32R2: "[[TC]]/uclibc/el/nan2008{{/|\\\\}}crtend.o"
1945// CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
1946//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001947// = Little-endian, mips32r2, fp64, nan2008
1948// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1949// RUN: --target=mipsel-linux-gnu -mips32r2 -mfp64 -mnan=2008 \
1950// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1951// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-32R2 %s
1952// CHECK-EL-NAN64-32R2: "-internal-isystem"
1953// CHECK-EL-NAN64-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1954// CHECK-EL-NAN64-32R2: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001955// CHECK-EL-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001956// CHECK-EL-NAN64-32R2: "-internal-isystem"
1957// CHECK-EL-NAN64-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1958// CHECK-EL-NAN64-32R2: "-internal-externc-isystem"
1959// CHECK-EL-NAN64-32R2: "[[TC]]/include"
1960// CHECK-EL-NAN64-32R2: "-internal-externc-isystem"
1961// CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/usr/include"
1962// CHECK-EL-NAN64-32R2: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001963// CHECK-EL-NAN64-32R2: "--sysroot=[[TC]]/../../../../sysroot/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001964// CHECK-EL-NAN64-32R2: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001965// CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1966// CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1967// CHECK-EL-NAN64-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtbegin.o"
1968// CHECK-EL-NAN64-32R2: "-L[[TC]]/el/nan2008"
1969// CHECK-EL-NAN64-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/nan2008"
1970// CHECK-EL-NAN64-32R2: "-L[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib"
1971// CHECK-EL-NAN64-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtend.o"
1972// CHECK-EL-NAN64-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00001973//
Simon Atanasyan9988e3a2014-07-16 17:34:54 +00001974// = Little-endian, default (mips32r2), fp64, nan2008
1975// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
1976// RUN: --target=mipsel-linux-gnu -mfp64 -mnan=2008 \
1977// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
1978// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-32R2-DEF %s
1979// CHECK-EL-NAN64-32R2-DEF: "-internal-isystem"
1980// CHECK-EL-NAN64-32R2-DEF: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
1981// CHECK-EL-NAN64-32R2-DEF: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001982// CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/el/nan2008"
Simon Atanasyan9988e3a2014-07-16 17:34:54 +00001983// CHECK-EL-NAN64-32R2-DEF: "-internal-isystem"
1984// CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
1985// CHECK-EL-NAN64-32R2-DEF: "-internal-externc-isystem"
1986// CHECK-EL-NAN64-32R2-DEF: "[[TC]]/include"
1987// CHECK-EL-NAN64-32R2-DEF: "-internal-externc-isystem"
1988// CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/usr/include"
1989// CHECK-EL-NAN64-32R2-DEF: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001990// CHECK-EL-NAN64-32R2-DEF: "--sysroot=[[TC]]/../../../../sysroot/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00001991// CHECK-EL-NAN64-32R2-DEF: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00001992// CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
1993// CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
1994// CHECK-EL-NAN64-32R2-DEF: "[[TC]]/el/nan2008{{/|\\\\}}crtbegin.o"
1995// CHECK-EL-NAN64-32R2-DEF: "-L[[TC]]/el/nan2008"
1996// CHECK-EL-NAN64-32R2-DEF: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/el/nan2008"
1997// CHECK-EL-NAN64-32R2-DEF: "-L[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib"
1998// CHECK-EL-NAN64-32R2-DEF: "[[TC]]/el/nan2008{{/|\\\\}}crtend.o"
1999// CHECK-EL-NAN64-32R2-DEF: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan9988e3a2014-07-16 17:34:54 +00002000//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002001// = Little-endian, micromips, hard float
2002// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2003// RUN: --target=mipsel-linux-gnu -mmicromips -mhard-float \
2004// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2005// RUN: | FileCheck --check-prefix=CHECK-EL-HF-MM %s
2006// CHECK-EL-HF-MM: "-internal-isystem"
2007// CHECK-EL-HF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2008// CHECK-EL-HF-MM: "-internal-isystem"
2009// CHECK-EL-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el"
2010// CHECK-EL-HF-MM: "-internal-isystem"
2011// CHECK-EL-HF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2012// CHECK-EL-HF-MM: "-internal-externc-isystem"
2013// CHECK-EL-HF-MM: "[[TC]]/include"
2014// CHECK-EL-HF-MM: "-internal-externc-isystem"
2015// CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/usr/include"
2016// CHECK-EL-HF-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002017// CHECK-EL-HF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002018// CHECK-EL-HF-MM: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002019// CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crt1.o"
2020// CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crti.o"
2021// CHECK-EL-HF-MM: "[[TC]]/micromips/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002022// CHECK-EL-HF-MM: "-L[[TC]]/micromips/el"
2023// CHECK-EL-HF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el"
2024// CHECK-EL-HF-MM: "-L[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002025// CHECK-EL-HF-MM: "[[TC]]/micromips/el{{/|\\\\}}crtend.o"
2026// CHECK-EL-HF-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crtn.o"
2027//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002028// = Little-endian, micromips, fp64, hard float
2029// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2030// RUN: --target=mipsel-linux-gnu -mmicromips -mfp64 -mhard-float \
2031// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2032// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-MM %s
2033// CHECK-EL-HF64-MM: "-internal-isystem"
2034// CHECK-EL-HF64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2035// CHECK-EL-HF64-MM: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002036// CHECK-EL-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002037// CHECK-EL-HF64-MM: "-internal-isystem"
2038// CHECK-EL-HF64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2039// CHECK-EL-HF64-MM: "-internal-externc-isystem"
2040// CHECK-EL-HF64-MM: "[[TC]]/include"
2041// CHECK-EL-HF64-MM: "-internal-externc-isystem"
2042// CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/usr/include"
2043// CHECK-EL-HF64-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002044// CHECK-EL-HF64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002045// CHECK-EL-HF64-MM: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002046// CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crt1.o"
2047// CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crti.o"
2048// CHECK-EL-HF64-MM: "[[TC]]/micromips/el{{/|\\\\}}crtbegin.o"
2049// CHECK-EL-HF64-MM: "-L[[TC]]/micromips/el"
2050// CHECK-EL-HF64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el"
2051// CHECK-EL-HF64-MM: "-L[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib"
2052// CHECK-EL-HF64-MM: "[[TC]]/micromips/el{{/|\\\\}}crtend.o"
2053// CHECK-EL-HF64-MM: "[[TC]]/../../../../sysroot/micromips/el/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002054//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002055// = Little-endian, micromips, soft float
2056// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2057// RUN: --target=mipsel-linux-gnu -mmicromips -msoft-float \
2058// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2059// RUN: | FileCheck --check-prefix=CHECK-EL-SF-MM %s
2060// CHECK-EL-SF-MM: "-internal-isystem"
2061// CHECK-EL-SF-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2062// CHECK-EL-SF-MM: "-internal-isystem"
2063// CHECK-EL-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el/sof"
2064// CHECK-EL-SF-MM: "-internal-isystem"
2065// CHECK-EL-SF-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2066// CHECK-EL-SF-MM: "-internal-externc-isystem"
2067// CHECK-EL-SF-MM: "[[TC]]/include"
2068// CHECK-EL-SF-MM: "-internal-externc-isystem"
2069// CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/usr/include"
2070// CHECK-EL-SF-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002071// CHECK-EL-SF-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002072// CHECK-EL-SF-MM: "-dynamic-linker" "/lib/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002073// CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
2074// CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
2075// CHECK-EL-SF-MM: "[[TC]]/micromips/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002076// CHECK-EL-SF-MM: "-L[[TC]]/micromips/el/sof"
2077// CHECK-EL-SF-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el/sof"
2078// CHECK-EL-SF-MM: "-L[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002079// CHECK-EL-SF-MM: "[[TC]]/micromips/el/sof{{/|\\\\}}crtend.o"
2080// CHECK-EL-SF-MM: "[[TC]]/../../../../sysroot/micromips/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
2081//
2082// = Little-endian, micromips, nan2008
2083// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2084// RUN: --target=mipsel-linux-gnu -mmicromips -mnan=2008 \
2085// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2086// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-MM %s
2087// CHECK-EL-NAN-MM: "-internal-isystem"
2088// CHECK-EL-NAN-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2089// CHECK-EL-NAN-MM: "-internal-isystem"
2090// CHECK-EL-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el/nan2008"
2091// CHECK-EL-NAN-MM: "-internal-isystem"
2092// CHECK-EL-NAN-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2093// CHECK-EL-NAN-MM: "-internal-externc-isystem"
2094// CHECK-EL-NAN-MM: "[[TC]]/include"
2095// CHECK-EL-NAN-MM: "-internal-externc-isystem"
2096// CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/usr/include"
2097// CHECK-EL-NAN-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002098// CHECK-EL-NAN-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002099// CHECK-EL-NAN-MM: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002100// CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
2101// CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
2102// CHECK-EL-NAN-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002103// CHECK-EL-NAN-MM: "-L[[TC]]/micromips/el/nan2008"
2104// CHECK-EL-NAN-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el/nan2008"
2105// CHECK-EL-NAN-MM: "-L[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002106// CHECK-EL-NAN-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtend.o"
2107// CHECK-EL-NAN-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
2108//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002109// = Little-endian, micromips, fp64, nan2008
2110// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2111// RUN: --target=mipsel-linux-gnu -mmicromips -mfp64 -mnan=2008 \
2112// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2113// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-MM %s
2114// CHECK-EL-NAN64-MM: "-internal-isystem"
2115// CHECK-EL-NAN64-MM: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2116// CHECK-EL-NAN64-MM: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002117// CHECK-EL-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/micromips/el/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002118// CHECK-EL-NAN64-MM: "-internal-isystem"
2119// CHECK-EL-NAN64-MM: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2120// CHECK-EL-NAN64-MM: "-internal-externc-isystem"
2121// CHECK-EL-NAN64-MM: "[[TC]]/include"
2122// CHECK-EL-NAN64-MM: "-internal-externc-isystem"
2123// CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/usr/include"
2124// CHECK-EL-NAN64-MM: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002125// CHECK-EL-NAN64-MM: "--sysroot=[[TC]]/../../../../sysroot/micromips/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002126// CHECK-EL-NAN64-MM: "-dynamic-linker" "/lib/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002127// CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
2128// CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
2129// CHECK-EL-NAN64-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtbegin.o"
2130// CHECK-EL-NAN64-MM: "-L[[TC]]/micromips/el/nan2008"
2131// CHECK-EL-NAN64-MM: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/micromips/el/nan2008"
2132// CHECK-EL-NAN64-MM: "-L[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib"
2133// CHECK-EL-NAN64-MM: "[[TC]]/micromips/el/nan2008{{/|\\\\}}crtend.o"
2134// CHECK-EL-NAN64-MM: "[[TC]]/../../../../sysroot/micromips/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002135//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002136// = Little-endian, mips64, ABI n32, hard float
2137// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2138// RUN: --target=mips64el-linux-gnu -mips64 -mabi=n32 -mhard-float \
2139// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2140// RUN: | FileCheck --check-prefix=CHECK-EL-HF-64-N32 %s
2141// CHECK-EL-HF-64-N32: "-internal-isystem"
2142// CHECK-EL-HF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2143// CHECK-EL-HF-64-N32: "-internal-isystem"
2144// CHECK-EL-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el"
2145// CHECK-EL-HF-64-N32: "-internal-isystem"
2146// CHECK-EL-HF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2147// CHECK-EL-HF-64-N32: "-internal-externc-isystem"
2148// CHECK-EL-HF-64-N32: "[[TC]]/include"
2149// CHECK-EL-HF-64-N32: "-internal-externc-isystem"
2150// CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
2151// CHECK-EL-HF-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002152// CHECK-EL-HF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002153// CHECK-EL-HF-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002154// CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crt1.o"
2155// CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crti.o"
2156// CHECK-EL-HF-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002157// CHECK-EL-HF-64-N32: "-L[[TC]]/mips64/el"
2158// CHECK-EL-HF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el"
2159// CHECK-EL-HF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002160// CHECK-EL-HF-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtend.o"
2161// CHECK-EL-HF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crtn.o"
2162//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002163// = Little-endian, mips64, ABI n32, fp64, hard float
2164// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2165// RUN: --target=mips64el-linux-gnu -mips64 -mabi=n32 -mfp64 -mhard-float \
2166// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2167// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-64-N32 %s
2168// CHECK-EL-HF64-64-N32: "-internal-isystem"
2169// CHECK-EL-HF64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2170// CHECK-EL-HF64-64-N32: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002171// CHECK-EL-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002172// CHECK-EL-HF64-64-N32: "-internal-isystem"
2173// CHECK-EL-HF64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2174// CHECK-EL-HF64-64-N32: "-internal-externc-isystem"
2175// CHECK-EL-HF64-64-N32: "[[TC]]/include"
2176// CHECK-EL-HF64-64-N32: "-internal-externc-isystem"
2177// CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
2178// CHECK-EL-HF64-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002179// CHECK-EL-HF64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002180// CHECK-EL-HF64-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002181// CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crt1.o"
2182// CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crti.o"
2183// CHECK-EL-HF64-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtbegin.o"
2184// CHECK-EL-HF64-64-N32: "-L[[TC]]/mips64/el"
2185// CHECK-EL-HF64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el"
2186// CHECK-EL-HF64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/usr/lib"
2187// CHECK-EL-HF64-64-N32: "[[TC]]/mips64/el{{/|\\\\}}crtend.o"
2188// CHECK-EL-HF64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002189//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002190// = Little-endian, mips64, ABI n32, soft float
2191// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2192// RUN: --target=mips64el-linux-gnu -mips64 -mabi=n32 -msoft-float \
2193// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2194// RUN: | FileCheck --check-prefix=CHECK-EL-SF-64-N32 %s
2195// CHECK-EL-SF-64-N32: "-internal-isystem"
2196// CHECK-EL-SF-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2197// CHECK-EL-SF-64-N32: "-internal-isystem"
2198// CHECK-EL-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el/sof"
2199// CHECK-EL-SF-64-N32: "-internal-isystem"
2200// CHECK-EL-SF-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2201// CHECK-EL-SF-64-N32: "-internal-externc-isystem"
2202// CHECK-EL-SF-64-N32: "[[TC]]/include"
2203// CHECK-EL-SF-64-N32: "-internal-externc-isystem"
2204// CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/usr/include"
2205// CHECK-EL-SF-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002206// CHECK-EL-SF-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002207// CHECK-EL-SF-64-N32: "-dynamic-linker" "/lib32/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002208// CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib{{/|\\\\}}crt1.o"
2209// CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib{{/|\\\\}}crti.o"
2210// CHECK-EL-SF-64-N32: "[[TC]]/mips64/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002211// CHECK-EL-SF-64-N32: "-L[[TC]]/mips64/el/sof"
2212// CHECK-EL-SF-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el/sof"
2213// CHECK-EL-SF-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002214// CHECK-EL-SF-64-N32: "[[TC]]/mips64/el/sof{{/|\\\\}}crtend.o"
2215// CHECK-EL-SF-64-N32: "[[TC]]/../../../../sysroot/mips64/el/sof/usr/lib{{/|\\\\}}crtn.o"
2216//
2217// = Little-endian, mips64, ABI n32, nan2008
2218// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2219// RUN: --target=mips64el-linux-gnu -mips64 -mabi=n32 -mnan=2008 \
2220// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2221// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-64-N32 %s
2222// CHECK-EL-NAN-64-N32: "-internal-isystem"
2223// CHECK-EL-NAN-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2224// CHECK-EL-NAN-64-N32: "-internal-isystem"
2225// CHECK-EL-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el/nan2008"
2226// CHECK-EL-NAN-64-N32: "-internal-isystem"
2227// CHECK-EL-NAN-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2228// CHECK-EL-NAN-64-N32: "-internal-externc-isystem"
2229// CHECK-EL-NAN-64-N32: "[[TC]]/include"
2230// CHECK-EL-NAN-64-N32: "-internal-externc-isystem"
2231// CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/usr/include"
2232// CHECK-EL-NAN-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002233// CHECK-EL-NAN-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002234// CHECK-EL-NAN-64-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002235// CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2236// CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2237// CHECK-EL-NAN-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002238// CHECK-EL-NAN-64-N32: "-L[[TC]]/mips64/el/nan2008"
2239// CHECK-EL-NAN-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el/nan2008"
2240// CHECK-EL-NAN-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002241// CHECK-EL-NAN-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtend.o"
2242// CHECK-EL-NAN-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2243//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002244// = Little-endian, mips64, ABI n32, fp64, nan2008
2245// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2246// RUN: --target=mips64el-linux-gnu -mips64 -mabi=n32 -mfp64 -mnan=2008 \
2247// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2248// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-64-N32 %s
2249// CHECK-EL-NAN64-64-N32: "-internal-isystem"
2250// CHECK-EL-NAN64-64-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2251// CHECK-EL-NAN64-64-N32: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002252// CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/el/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002253// CHECK-EL-NAN64-64-N32: "-internal-isystem"
2254// CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2255// CHECK-EL-NAN64-64-N32: "-internal-externc-isystem"
2256// CHECK-EL-NAN64-64-N32: "[[TC]]/include"
2257// CHECK-EL-NAN64-64-N32: "-internal-externc-isystem"
2258// CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/usr/include"
2259// CHECK-EL-NAN64-64-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002260// CHECK-EL-NAN64-64-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002261// CHECK-EL-NAN64-64-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002262// CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2263// CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2264// CHECK-EL-NAN64-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtbegin.o"
2265// CHECK-EL-NAN64-64-N32: "-L[[TC]]/mips64/el/nan2008"
2266// CHECK-EL-NAN64-64-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/el/nan2008"
2267// CHECK-EL-NAN64-64-N32: "-L[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib"
2268// CHECK-EL-NAN64-64-N32: "[[TC]]/mips64/el/nan2008{{/|\\\\}}crtend.o"
2269// CHECK-EL-NAN64-64-N32: "[[TC]]/../../../../sysroot/mips64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002270//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002271// = Little-endian, mips64, ABI 64, hard float
2272// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2273// RUN: --target=mips64el-linux-gnu -mips64 -mabi=64 -mhard-float \
2274// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2275// RUN: | FileCheck --check-prefix=CHECK-EL-HF-64-64 %s
2276// CHECK-EL-HF-64-64: "-internal-isystem"
2277// CHECK-EL-HF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2278// CHECK-EL-HF-64-64: "-internal-isystem"
2279// CHECK-EL-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el"
2280// CHECK-EL-HF-64-64: "-internal-isystem"
2281// CHECK-EL-HF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2282// CHECK-EL-HF-64-64: "-internal-externc-isystem"
2283// CHECK-EL-HF-64-64: "[[TC]]/include"
2284// CHECK-EL-HF-64-64: "-internal-externc-isystem"
2285// CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/usr/include"
2286// CHECK-EL-HF-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002287// CHECK-EL-HF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002288// CHECK-EL-HF-64-64: "-dynamic-linker" "/lib64/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002289// CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crt1.o"
2290// CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crti.o"
2291// CHECK-EL-HF-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002292// CHECK-EL-HF-64-64: "-L[[TC]]/mips64/64/el"
2293// CHECK-EL-HF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el"
2294// CHECK-EL-HF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002295// CHECK-EL-HF-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtend.o"
2296// CHECK-EL-HF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crtn.o"
2297//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002298// = Little-endian, mips64, ABI 64, fp64, hard float
2299// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2300// RUN: --target=mips64el-linux-gnu -mips64 -mabi=64 -mfp64 -mhard-float \
2301// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2302// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-64-64 %s
2303// CHECK-EL-HF64-64-64: "-internal-isystem"
2304// CHECK-EL-HF64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2305// CHECK-EL-HF64-64-64: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002306// CHECK-EL-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002307// CHECK-EL-HF64-64-64: "-internal-isystem"
2308// CHECK-EL-HF64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2309// CHECK-EL-HF64-64-64: "-internal-externc-isystem"
2310// CHECK-EL-HF64-64-64: "[[TC]]/include"
2311// CHECK-EL-HF64-64-64: "-internal-externc-isystem"
2312// CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/usr/include"
2313// CHECK-EL-HF64-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002314// CHECK-EL-HF64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002315// CHECK-EL-HF64-64-64: "-dynamic-linker" "/lib64/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002316// CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crt1.o"
2317// CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crti.o"
2318// CHECK-EL-HF64-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtbegin.o"
2319// CHECK-EL-HF64-64-64: "-L[[TC]]/mips64/64/el"
2320// CHECK-EL-HF64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el"
2321// CHECK-EL-HF64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/usr/lib"
2322// CHECK-EL-HF64-64-64: "[[TC]]/mips64/64/el{{/|\\\\}}crtend.o"
2323// CHECK-EL-HF64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002324//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002325// = Little-endian, mips64, ABI 64, soft float
2326// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2327// RUN: --target=mips64el-linux-gnu -mips64 -mabi=64 -msoft-float \
2328// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2329// RUN: | FileCheck --check-prefix=CHECK-EL-SF-64-64 %s
2330// CHECK-EL-SF-64-64: "-internal-isystem"
2331// CHECK-EL-SF-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2332// CHECK-EL-SF-64-64: "-internal-isystem"
2333// CHECK-EL-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el/sof"
2334// CHECK-EL-SF-64-64: "-internal-isystem"
2335// CHECK-EL-SF-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2336// CHECK-EL-SF-64-64: "-internal-externc-isystem"
2337// CHECK-EL-SF-64-64: "[[TC]]/include"
2338// CHECK-EL-SF-64-64: "-internal-externc-isystem"
2339// CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/usr/include"
2340// CHECK-EL-SF-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002341// CHECK-EL-SF-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002342// CHECK-EL-SF-64-64: "-dynamic-linker" "/lib64/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002343// CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib{{/|\\\\}}crt1.o"
2344// CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib{{/|\\\\}}crti.o"
2345// CHECK-EL-SF-64-64: "[[TC]]/mips64/64/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002346// CHECK-EL-SF-64-64: "-L[[TC]]/mips64/64/el/sof"
2347// CHECK-EL-SF-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el/sof"
2348// CHECK-EL-SF-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002349// CHECK-EL-SF-64-64: "[[TC]]/mips64/64/el/sof{{/|\\\\}}crtend.o"
2350// CHECK-EL-SF-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/sof/usr/lib{{/|\\\\}}crtn.o"
2351//
2352// = Little-endian, mips64, ABI 64, nan2008
2353// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2354// RUN: --target=mips64el-linux-gnu -mips64 -mabi=64 -mnan=2008 \
2355// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2356// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-64-64 %s
2357// CHECK-EL-NAN-64-64: "-internal-isystem"
2358// CHECK-EL-NAN-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2359// CHECK-EL-NAN-64-64: "-internal-isystem"
2360// CHECK-EL-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el/nan2008"
2361// CHECK-EL-NAN-64-64: "-internal-isystem"
2362// CHECK-EL-NAN-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2363// CHECK-EL-NAN-64-64: "-internal-externc-isystem"
2364// CHECK-EL-NAN-64-64: "[[TC]]/include"
2365// CHECK-EL-NAN-64-64: "-internal-externc-isystem"
2366// CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/usr/include"
2367// CHECK-EL-NAN-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002368// CHECK-EL-NAN-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002369// CHECK-EL-NAN-64-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002370// CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2371// CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2372// CHECK-EL-NAN-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002373// CHECK-EL-NAN-64-64: "-L[[TC]]/mips64/64/el/nan2008"
2374// CHECK-EL-NAN-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el/nan2008"
2375// CHECK-EL-NAN-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002376// CHECK-EL-NAN-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtend.o"
2377// CHECK-EL-NAN-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2378//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002379// = Little-endian, mips64, ABI 64, fp64, nan2008
2380// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2381// RUN: --target=mips64el-linux-gnu -mips64 -mabi=64 -mfp64 -mnan=2008 \
2382// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2383// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-64-64 %s
2384// CHECK-EL-NAN64-64-64: "-internal-isystem"
2385// CHECK-EL-NAN64-64-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2386// CHECK-EL-NAN64-64-64: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002387// CHECK-EL-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64/64/el/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002388// CHECK-EL-NAN64-64-64: "-internal-isystem"
2389// CHECK-EL-NAN64-64-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2390// CHECK-EL-NAN64-64-64: "-internal-externc-isystem"
2391// CHECK-EL-NAN64-64-64: "[[TC]]/include"
2392// CHECK-EL-NAN64-64-64: "-internal-externc-isystem"
2393// CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/usr/include"
2394// CHECK-EL-NAN64-64-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002395// CHECK-EL-NAN64-64-64: "--sysroot=[[TC]]/../../../../sysroot/mips64/64/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002396// CHECK-EL-NAN64-64-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002397// CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2398// CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2399// CHECK-EL-NAN64-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtbegin.o"
2400// CHECK-EL-NAN64-64-64: "-L[[TC]]/mips64/64/el/nan2008"
2401// CHECK-EL-NAN64-64-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64/64/el/nan2008"
2402// CHECK-EL-NAN64-64-64: "-L[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib"
2403// CHECK-EL-NAN64-64-64: "[[TC]]/mips64/64/el/nan2008{{/|\\\\}}crtend.o"
2404// CHECK-EL-NAN64-64-64: "[[TC]]/../../../../sysroot/mips64/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002405//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002406// = Little-endian, mips64r2, ABI n32, hard float
2407// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2408// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=n32 -mhard-float \
2409// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2410// RUN: | FileCheck --check-prefix=CHECK-EL-HF-64R2-N32 %s
2411// CHECK-EL-HF-64R2-N32: "-internal-isystem"
2412// CHECK-EL-HF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2413// CHECK-EL-HF-64R2-N32: "-internal-isystem"
2414// CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el"
2415// CHECK-EL-HF-64R2-N32: "-internal-isystem"
2416// CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2417// CHECK-EL-HF-64R2-N32: "-internal-externc-isystem"
2418// CHECK-EL-HF-64R2-N32: "[[TC]]/include"
2419// CHECK-EL-HF-64R2-N32: "-internal-externc-isystem"
2420// CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2421// CHECK-EL-HF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002422// CHECK-EL-HF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002423// CHECK-EL-HF-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002424// CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crt1.o"
2425// CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crti.o"
2426// CHECK-EL-HF-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002427// CHECK-EL-HF-64R2-N32: "-L[[TC]]/mips64r2/el"
2428// CHECK-EL-HF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el"
2429// CHECK-EL-HF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002430// CHECK-EL-HF-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtend.o"
2431// CHECK-EL-HF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crtn.o"
2432//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002433// = Little-endian, mips64r2, ABI n32, fp64, hard float
2434// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2435// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mhard-float \
2436// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2437// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-64R2-N32 %s
2438// CHECK-EL-HF64-64R2-N32: "-internal-isystem"
2439// CHECK-EL-HF64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2440// CHECK-EL-HF64-64R2-N32: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002441// CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002442// CHECK-EL-HF64-64R2-N32: "-internal-isystem"
2443// CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2444// CHECK-EL-HF64-64R2-N32: "-internal-externc-isystem"
2445// CHECK-EL-HF64-64R2-N32: "[[TC]]/include"
2446// CHECK-EL-HF64-64R2-N32: "-internal-externc-isystem"
2447// CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2448// CHECK-EL-HF64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002449// CHECK-EL-HF64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002450// CHECK-EL-HF64-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002451// CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crt1.o"
2452// CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crti.o"
2453// CHECK-EL-HF64-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtbegin.o"
2454// CHECK-EL-HF64-64R2-N32: "-L[[TC]]/mips64r2/el"
2455// CHECK-EL-HF64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el"
2456// CHECK-EL-HF64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/usr/lib"
2457// CHECK-EL-HF64-64R2-N32: "[[TC]]/mips64r2/el{{/|\\\\}}crtend.o"
2458// CHECK-EL-HF64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002459//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002460// = Little-endian, mips64r2, ABI n32, soft float
2461// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2462// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=n32 -msoft-float \
2463// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2464// RUN: | FileCheck --check-prefix=CHECK-EL-SF-64R2-N32 %s
2465// CHECK-EL-SF-64R2-N32: "-internal-isystem"
2466// CHECK-EL-SF-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2467// CHECK-EL-SF-64R2-N32: "-internal-isystem"
2468// CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el/sof"
2469// CHECK-EL-SF-64R2-N32: "-internal-isystem"
2470// CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2471// CHECK-EL-SF-64R2-N32: "-internal-externc-isystem"
2472// CHECK-EL-SF-64R2-N32: "[[TC]]/include"
2473// CHECK-EL-SF-64R2-N32: "-internal-externc-isystem"
2474// CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2475// CHECK-EL-SF-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002476// CHECK-EL-SF-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002477// CHECK-EL-SF-64R2-N32: "-dynamic-linker" "/lib32/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002478// CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib{{/|\\\\}}crt1.o"
2479// CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib{{/|\\\\}}crti.o"
2480// CHECK-EL-SF-64R2-N32: "[[TC]]/mips64r2/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002481// CHECK-EL-SF-64R2-N32: "-L[[TC]]/mips64r2/el/sof"
2482// CHECK-EL-SF-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el/sof"
2483// CHECK-EL-SF-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002484// CHECK-EL-SF-64R2-N32: "[[TC]]/mips64r2/el/sof{{/|\\\\}}crtend.o"
2485// CHECK-EL-SF-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/sof/usr/lib{{/|\\\\}}crtn.o"
2486//
2487// = Little-endian, mips64r2, ABI n32, nan2008
2488// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2489// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=n32 -mnan=2008 \
2490// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2491// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-64R2-N32 %s
2492// CHECK-EL-NAN-64R2-N32: "-internal-isystem"
2493// CHECK-EL-NAN-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2494// CHECK-EL-NAN-64R2-N32: "-internal-isystem"
2495// CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el/nan2008"
2496// CHECK-EL-NAN-64R2-N32: "-internal-isystem"
2497// CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2498// CHECK-EL-NAN-64R2-N32: "-internal-externc-isystem"
2499// CHECK-EL-NAN-64R2-N32: "[[TC]]/include"
2500// CHECK-EL-NAN-64R2-N32: "-internal-externc-isystem"
2501// CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2502// CHECK-EL-NAN-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002503// CHECK-EL-NAN-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002504// CHECK-EL-NAN-64R2-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002505// CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2506// CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2507// CHECK-EL-NAN-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002508// CHECK-EL-NAN-64R2-N32: "-L[[TC]]/mips64r2/el/nan2008"
2509// CHECK-EL-NAN-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el/nan2008"
2510// CHECK-EL-NAN-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002511// CHECK-EL-NAN-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtend.o"
2512// CHECK-EL-NAN-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
2513//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002514// = Little-endian, mips64r2, ABI n32, fp64, nan2008
2515// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2516// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=n32 -mfp64 -mnan=2008 \
2517// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2518// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-64R2-N32 %s
2519// CHECK-EL-NAN64-64R2-N32: "-internal-isystem"
2520// CHECK-EL-NAN64-64R2-N32: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2521// CHECK-EL-NAN64-64R2-N32: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002522// CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/el/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002523// CHECK-EL-NAN64-64R2-N32: "-internal-isystem"
2524// CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2525// CHECK-EL-NAN64-64R2-N32: "-internal-externc-isystem"
2526// CHECK-EL-NAN64-64R2-N32: "[[TC]]/include"
2527// CHECK-EL-NAN64-64R2-N32: "-internal-externc-isystem"
2528// CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/usr/include"
2529// CHECK-EL-NAN64-64R2-N32: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002530// CHECK-EL-NAN64-64R2-N32: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002531// CHECK-EL-NAN64-64R2-N32: "-dynamic-linker" "/lib32/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002532// CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2533// CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2534// CHECK-EL-NAN64-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtbegin.o"
2535// CHECK-EL-NAN64-64R2-N32: "-L[[TC]]/mips64r2/el/nan2008"
2536// CHECK-EL-NAN64-64R2-N32: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/el/nan2008"
2537// CHECK-EL-NAN64-64R2-N32: "-L[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib"
2538// CHECK-EL-NAN64-64R2-N32: "[[TC]]/mips64r2/el/nan2008{{/|\\\\}}crtend.o"
2539// CHECK-EL-NAN64-64R2-N32: "[[TC]]/../../../../sysroot/mips64r2/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002540//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002541// = Little-endian, mips64r2, ABI 64, hard float
2542// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2543// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=64 -mhard-float \
2544// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2545// RUN: | FileCheck --check-prefix=CHECK-EL-HF-64R2-64 %s
2546// CHECK-EL-HF-64R2-64: "-internal-isystem"
2547// CHECK-EL-HF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2548// CHECK-EL-HF-64R2-64: "-internal-isystem"
2549// CHECK-EL-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el"
2550// CHECK-EL-HF-64R2-64: "-internal-isystem"
2551// CHECK-EL-HF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2552// CHECK-EL-HF-64R2-64: "-internal-externc-isystem"
2553// CHECK-EL-HF-64R2-64: "[[TC]]/include"
2554// CHECK-EL-HF-64R2-64: "-internal-externc-isystem"
2555// CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2556// CHECK-EL-HF-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002557// CHECK-EL-HF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002558// CHECK-EL-HF-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002559// CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crt1.o"
2560// CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crti.o"
2561// CHECK-EL-HF-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002562// CHECK-EL-HF-64R2-64: "-L[[TC]]/mips64r2/64/el"
2563// CHECK-EL-HF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el"
2564// CHECK-EL-HF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002565// CHECK-EL-HF-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtend.o"
2566// CHECK-EL-HF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crtn.o"
2567//
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002568// = Little-endian, mips64r2, ABI 64, fp64, hard float
2569// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2570// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=64 -mfp64 -mhard-float \
2571// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2572// RUN: | FileCheck --check-prefix=CHECK-EL-HF64-64R2-64 %s
2573// CHECK-EL-HF64-64R2-64: "-internal-isystem"
2574// CHECK-EL-HF64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2575// CHECK-EL-HF64-64R2-64: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002576// CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002577// CHECK-EL-HF64-64R2-64: "-internal-isystem"
2578// CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2579// CHECK-EL-HF64-64R2-64: "-internal-externc-isystem"
2580// CHECK-EL-HF64-64R2-64: "[[TC]]/include"
2581// CHECK-EL-HF64-64R2-64: "-internal-externc-isystem"
2582// CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2583// CHECK-EL-HF64-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002584// CHECK-EL-HF64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002585// CHECK-EL-HF64-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002586// CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crt1.o"
2587// CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crti.o"
2588// CHECK-EL-HF64-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtbegin.o"
2589// CHECK-EL-HF64-64R2-64: "-L[[TC]]/mips64r2/64/el"
2590// CHECK-EL-HF64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el"
2591// CHECK-EL-HF64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib"
2592// CHECK-EL-HF64-64R2-64: "[[TC]]/mips64r2/64/el{{/|\\\\}}crtend.o"
2593// CHECK-EL-HF64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002594//
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002595// = Little-endian, mips64r2, ABI 64, soft float
2596// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2597// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=64 -msoft-float \
2598// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2599// RUN: | FileCheck --check-prefix=CHECK-EL-SF-64R2-64 %s
2600// CHECK-EL-SF-64R2-64: "-internal-isystem"
2601// CHECK-EL-SF-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2602// CHECK-EL-SF-64R2-64: "-internal-isystem"
2603// CHECK-EL-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/sof"
2604// CHECK-EL-SF-64R2-64: "-internal-isystem"
2605// CHECK-EL-SF-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2606// CHECK-EL-SF-64R2-64: "-internal-externc-isystem"
2607// CHECK-EL-SF-64R2-64: "[[TC]]/include"
2608// CHECK-EL-SF-64R2-64: "-internal-externc-isystem"
2609// CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2610// CHECK-EL-SF-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002611// CHECK-EL-SF-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/sof"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002612// CHECK-EL-SF-64R2-64: "-dynamic-linker" "/lib64/ld.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002613// CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib{{/|\\\\}}crt1.o"
2614// CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib{{/|\\\\}}crti.o"
2615// CHECK-EL-SF-64R2-64: "[[TC]]/mips64r2/64/el/sof{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002616// CHECK-EL-SF-64R2-64: "-L[[TC]]/mips64r2/64/el/sof"
2617// CHECK-EL-SF-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/sof"
2618// CHECK-EL-SF-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002619// CHECK-EL-SF-64R2-64: "[[TC]]/mips64r2/64/el/sof{{/|\\\\}}crtend.o"
2620// CHECK-EL-SF-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/sof/usr/lib{{/|\\\\}}crtn.o"
2621//
2622// = Little-endian, mips64r2, ABI 64, nan2008
2623// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2624// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=64 -mnan=2008 \
2625// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2626// RUN: | FileCheck --check-prefix=CHECK-EL-NAN-64R2-64 %s
2627// CHECK-EL-NAN-64R2-64: "-internal-isystem"
2628// CHECK-EL-NAN-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2629// CHECK-EL-NAN-64R2-64: "-internal-isystem"
2630// CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/nan2008"
2631// CHECK-EL-NAN-64R2-64: "-internal-isystem"
2632// CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2633// CHECK-EL-NAN-64R2-64: "-internal-externc-isystem"
2634// CHECK-EL-NAN-64R2-64: "[[TC]]/include"
2635// CHECK-EL-NAN-64R2-64: "-internal-externc-isystem"
2636// CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2637// CHECK-EL-NAN-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002638// CHECK-EL-NAN-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002639// CHECK-EL-NAN-64R2-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002640// CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2641// CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2642// CHECK-EL-NAN-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtbegin.o"
Simon Atanasyan6b358b32013-11-26 11:57:53 +00002643// CHECK-EL-NAN-64R2-64: "-L[[TC]]/mips64r2/64/el/nan2008"
2644// CHECK-EL-NAN-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/nan2008"
2645// CHECK-EL-NAN-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib"
Simon Atanasyana61b7ec2013-10-10 07:57:44 +00002646// CHECK-EL-NAN-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtend.o"
2647// CHECK-EL-NAN-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002648//
2649// = Little-endian, mips64r2, ABI 64, fp64, nan2008
2650// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2651// RUN: --target=mips64el-linux-gnu -mips64r2 -mabi=64 -mfp64 -mnan=2008 \
2652// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2653// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-64R2-64 %s
2654// CHECK-EL-NAN64-64R2-64: "-internal-isystem"
2655// CHECK-EL-NAN64-64R2-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2656// CHECK-EL-NAN64-64R2-64: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002657// CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/nan2008"
Simon Atanasyan5c5b5da2013-11-20 13:53:20 +00002658// CHECK-EL-NAN64-64R2-64: "-internal-isystem"
2659// CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2660// CHECK-EL-NAN64-64R2-64: "-internal-externc-isystem"
2661// CHECK-EL-NAN64-64R2-64: "[[TC]]/include"
2662// CHECK-EL-NAN64-64R2-64: "-internal-externc-isystem"
2663// CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/usr/include"
2664// CHECK-EL-NAN64-64R2-64: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002665// CHECK-EL-NAN64-64R2-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002666// CHECK-EL-NAN64-64R2-64: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002667// CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2668// CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2669// CHECK-EL-NAN64-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtbegin.o"
2670// CHECK-EL-NAN64-64R2-64: "-L[[TC]]/mips64r2/64/el/nan2008"
2671// CHECK-EL-NAN64-64R2-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/nan2008"
2672// CHECK-EL-NAN64-64R2-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib"
2673// CHECK-EL-NAN64-64R2-64: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtend.o"
2674// CHECK-EL-NAN64-64R2-64: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan9988e3a2014-07-16 17:34:54 +00002675//
2676// = Little-endian, default (mips64r2), ABI 64, fp64, nan2008
2677// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2678// RUN: --target=mips64el-linux-gnu -mabi=64 -mfp64 -mnan=2008 \
2679// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2680// RUN: | FileCheck --check-prefix=CHECK-EL-NAN64-64R2-64-DEF %s
2681// CHECK-EL-NAN64-64R2-64-DEF: "-internal-isystem"
2682// CHECK-EL-NAN64-64R2-64-DEF: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2683// CHECK-EL-NAN64-64R2-64-DEF: "-internal-isystem"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002684// CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64/el/nan2008"
Simon Atanasyan9988e3a2014-07-16 17:34:54 +00002685// CHECK-EL-NAN64-64R2-64-DEF: "-internal-isystem"
2686// CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2687// CHECK-EL-NAN64-64R2-64-DEF: "-internal-externc-isystem"
2688// CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/include"
2689// CHECK-EL-NAN64-64R2-64-DEF: "-internal-externc-isystem"
2690// CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/usr/include"
2691// CHECK-EL-NAN64-64R2-64-DEF: "{{.*}}ld{{(.exe)?}}"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002692// CHECK-EL-NAN64-64R2-64-DEF: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008"
Simon Atanasyan0c455f32014-07-26 09:52:21 +00002693// CHECK-EL-NAN64-64R2-64-DEF: "-dynamic-linker" "/lib64/ld-linux-mipsn8.so.1"
Simon Atanasyan5116b4a2014-07-25 11:20:21 +00002694// CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crt1.o"
2695// CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crti.o"
2696// CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtbegin.o"
2697// CHECK-EL-NAN64-64R2-64-DEF: "-L[[TC]]/mips64r2/64/el/nan2008"
2698// CHECK-EL-NAN64-64R2-64-DEF: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64/el/nan2008"
2699// CHECK-EL-NAN64-64R2-64-DEF: "-L[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib"
2700// CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/mips64r2/64/el/nan2008{{/|\\\\}}crtend.o"
2701// CHECK-EL-NAN64-64R2-64-DEF: "[[TC]]/../../../../sysroot/mips64r2/64/el/nan2008/usr/lib{{/|\\\\}}crtn.o"
Simon Atanasyan59b25cb2015-02-26 04:45:57 +00002702//
2703// Check that mips32r3 and mips32r5 are equal to mips32r2
2704//
2705// = Big-endian, mips32r3, hard float
2706// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2707// RUN: --target=mips-linux-gnu -mips32r3 -mhard-float \
2708// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2709// RUN: | FileCheck --check-prefix=CHECK-BE-HF-32R3 %s
2710// CHECK-BE-HF-32R3: "-internal-isystem"
2711// CHECK-BE-HF-32R3: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2712// CHECK-BE-HF-32R3: "-internal-isystem"
2713// CHECK-BE-HF-32R3: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu"
2714// CHECK-BE-HF-32R3: "-internal-isystem"
2715// CHECK-BE-HF-32R3: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2716// CHECK-BE-HF-32R3: "-internal-externc-isystem"
2717// CHECK-BE-HF-32R3: "[[TC]]/include"
2718// CHECK-BE-HF-32R3: "-internal-externc-isystem"
2719// CHECK-BE-HF-32R3: "[[TC]]/../../../../sysroot/usr/include"
2720// CHECK-BE-HF-32R3: "{{.*}}ld{{(.exe)?}}"
2721// CHECK-BE-HF-32R3: "--sysroot=[[TC]]/../../../../sysroot"
2722// CHECK-BE-HF-32R3: "-dynamic-linker" "/lib/ld.so.1"
2723// CHECK-BE-HF-32R3: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crt1.o"
2724// CHECK-BE-HF-32R3: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crti.o"
2725// CHECK-BE-HF-32R3: "[[TC]]{{/|\\\\}}crtbegin.o"
2726// CHECK-BE-HF-32R3: "-L[[TC]]"
2727// CHECK-BE-HF-32R3: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib"
2728// CHECK-BE-HF-32R3: "-L[[TC]]/../../../../sysroot/usr/lib/../lib"
2729// CHECK-BE-HF-32R3: "[[TC]]{{/|\\\\}}crtend.o"
2730// CHECK-BE-HF-32R3: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crtn.o"
2731//
2732// = Big-endian, mips32r5, hard float
2733// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2734// RUN: --target=mips-linux-gnu -mips32r5 -mhard-float \
2735// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2736// RUN: | FileCheck --check-prefix=CHECK-BE-HF-32R5 %s
2737// CHECK-BE-HF-32R5: "-internal-isystem"
2738// CHECK-BE-HF-32R5: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2739// CHECK-BE-HF-32R5: "-internal-isystem"
2740// CHECK-BE-HF-32R5: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu"
2741// CHECK-BE-HF-32R5: "-internal-isystem"
2742// CHECK-BE-HF-32R5: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2743// CHECK-BE-HF-32R5: "-internal-externc-isystem"
2744// CHECK-BE-HF-32R5: "[[TC]]/include"
2745// CHECK-BE-HF-32R5: "-internal-externc-isystem"
2746// CHECK-BE-HF-32R5: "[[TC]]/../../../../sysroot/usr/include"
2747// CHECK-BE-HF-32R5: "{{.*}}ld{{(.exe)?}}"
2748// CHECK-BE-HF-32R5: "--sysroot=[[TC]]/../../../../sysroot"
2749// CHECK-BE-HF-32R5: "-dynamic-linker" "/lib/ld.so.1"
2750// CHECK-BE-HF-32R5: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crt1.o"
2751// CHECK-BE-HF-32R5: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crti.o"
2752// CHECK-BE-HF-32R5: "[[TC]]{{/|\\\\}}crtbegin.o"
2753// CHECK-BE-HF-32R5: "-L[[TC]]"
2754// CHECK-BE-HF-32R5: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib"
2755// CHECK-BE-HF-32R5: "-L[[TC]]/../../../../sysroot/usr/lib/../lib"
2756// CHECK-BE-HF-32R5: "[[TC]]{{/|\\\\}}crtend.o"
2757// CHECK-BE-HF-32R5: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crtn.o"
2758//
2759// = Big-endian, mips64r3, ABI 64, hard float
2760// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2761// RUN: --target=mips64-linux-gnu -mips64r3 -mabi=64 -mhard-float \
2762// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2763// RUN: | FileCheck --check-prefix=CHECK-BE-HF-64R3-64 %s
2764// CHECK-BE-HF-64R3-64: "-internal-isystem"
2765// CHECK-BE-HF-64R3-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2766// CHECK-BE-HF-64R3-64: "-internal-isystem"
2767// CHECK-BE-HF-64R3-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64"
2768// CHECK-BE-HF-64R3-64: "-internal-isystem"
2769// CHECK-BE-HF-64R3-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2770// CHECK-BE-HF-64R3-64: "-internal-externc-isystem"
2771// CHECK-BE-HF-64R3-64: "[[TC]]/include"
2772// CHECK-BE-HF-64R3-64: "-internal-externc-isystem"
2773// CHECK-BE-HF-64R3-64: "[[TC]]/../../../../sysroot/usr/include"
2774// CHECK-BE-HF-64R3-64: "{{.*}}ld{{(.exe)?}}"
2775// CHECK-BE-HF-64R3-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64"
2776// CHECK-BE-HF-64R3-64: "-dynamic-linker" "/lib64/ld.so.1"
2777// CHECK-BE-HF-64R3-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crt1.o"
2778// CHECK-BE-HF-64R3-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crti.o"
2779// CHECK-BE-HF-64R3-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtbegin.o"
2780// CHECK-BE-HF-64R3-64: "-L[[TC]]/mips64r2/64"
2781// CHECK-BE-HF-64R3-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64"
2782// CHECK-BE-HF-64R3-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/usr/lib"
2783// CHECK-BE-HF-64R3-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtend.o"
2784// CHECK-BE-HF-64R3-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crtn.o"
2785//
2786// = Big-endian, mips64r5, ABI 64, hard float
2787// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
2788// RUN: --target=mips64-linux-gnu -mips64r5 -mabi=64 -mhard-float \
2789// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
2790// RUN: | FileCheck --check-prefix=CHECK-BE-HF-64R5-64 %s
2791// CHECK-BE-HF-64R5-64: "-internal-isystem"
2792// CHECK-BE-HF-64R5-64: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
2793// CHECK-BE-HF-64R5-64: "-internal-isystem"
2794// CHECK-BE-HF-64R5-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/mips64r2/64"
2795// CHECK-BE-HF-64R5-64: "-internal-isystem"
2796// CHECK-BE-HF-64R5-64: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
2797// CHECK-BE-HF-64R5-64: "-internal-externc-isystem"
2798// CHECK-BE-HF-64R5-64: "[[TC]]/include"
2799// CHECK-BE-HF-64R5-64: "-internal-externc-isystem"
2800// CHECK-BE-HF-64R5-64: "[[TC]]/../../../../sysroot/usr/include"
2801// CHECK-BE-HF-64R5-64: "{{.*}}ld{{(.exe)?}}"
2802// CHECK-BE-HF-64R5-64: "--sysroot=[[TC]]/../../../../sysroot/mips64r2/64"
2803// CHECK-BE-HF-64R5-64: "-dynamic-linker" "/lib64/ld.so.1"
2804// CHECK-BE-HF-64R5-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crt1.o"
2805// CHECK-BE-HF-64R5-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crti.o"
2806// CHECK-BE-HF-64R5-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtbegin.o"
2807// CHECK-BE-HF-64R5-64: "-L[[TC]]/mips64r2/64"
2808// CHECK-BE-HF-64R5-64: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/mips64r2/64"
2809// CHECK-BE-HF-64R5-64: "-L[[TC]]/../../../../sysroot/mips64r2/64/usr/lib"
2810// CHECK-BE-HF-64R5-64: "[[TC]]/mips64r2/64{{/|\\\\}}crtend.o"
2811// CHECK-BE-HF-64R5-64: "[[TC]]/../../../../sysroot/mips64r2/64/usr/lib{{/|\\\\}}crtn.o"