blob: 274895fb4fad5c6c6a494833a8aacdce3fdabfa3 [file] [log] [blame]
Chandler Carruth6e46ca22011-11-09 03:46:20 +00001// General tests that the header search paths detected by the driver and passed
2// to CC1 are sane.
3//
Chandler Carruth5a3d8982014-01-20 09:42:24 +00004// Test a simulated installation of libc++ on Linux, both through sysroot and
5// the installation path of Clang.
6// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
7// RUN: -target x86_64-unknown-linux-gnu \
8// RUN: -stdlib=libc++ \
9// RUN: -ccc-install-dir %S/Inputs/basic_linux_tree/usr/bin \
10// RUN: --sysroot=%S/Inputs/basic_linux_libcxx_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +000011// RUN: --gcc-toolchain="" \
Chandler Carruth5a3d8982014-01-20 09:42:24 +000012// RUN: | FileCheck --check-prefix=CHECK-BASIC-LIBCXX-SYSROOT %s
13// CHECK-BASIC-LIBCXX-SYSROOT: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
14// CHECK-BASIC-LIBCXX-SYSROOT: "-isysroot" "[[SYSROOT:[^"]+]]"
15// CHECK-BASIC-LIBCXX-SYSROOT: "-internal-isystem" "[[SYSROOT]]/usr/include/c++/v1"
16// CHECK-BASIC-LIBCXX-SYSROOT: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
17// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
18// RUN: -target x86_64-unknown-linux-gnu \
19// RUN: -stdlib=libc++ \
20// RUN: -ccc-install-dir %S/Inputs/basic_linux_libcxx_tree/usr/bin \
21// RUN: --sysroot=%S/Inputs/basic_linux_libcxx_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +000022// RUN: --gcc-toolchain="" \
Chandler Carruth5a3d8982014-01-20 09:42:24 +000023// RUN: | FileCheck --check-prefix=CHECK-BASIC-LIBCXX-INSTALL %s
24// CHECK-BASIC-LIBCXX-INSTALL: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
25// CHECK-BASIC-LIBCXX-INSTALL: "-isysroot" "[[SYSROOT:[^"]+]]"
26// CHECK-BASIC-LIBCXX-INSTALL: "-internal-isystem" "[[SYSROOT]]/usr/bin/../include/c++/v1"
27// CHECK-BASIC-LIBCXX-INSTALL: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
28//
Evgeniy Stepanov65bc2b12015-11-09 21:10:54 +000029// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
30// RUN: -target x86_64-unknown-linux-gnu \
31// RUN: -stdlib=libc++ \
32// RUN: -ccc-install-dir %S/Inputs/basic_linux_tree/usr/bin \
33// RUN: --sysroot=%S/Inputs/basic_linux_libcxxv2_tree \
34// RUN: --gcc-toolchain="" \
35// RUN: | FileCheck --check-prefix=CHECK-BASIC-LIBCXXV2-SYSROOT %s
36// CHECK-BASIC-LIBCXXV2-SYSROOT: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
37// CHECK-BASIC-LIBCXXV2-SYSROOT: "-isysroot" "[[SYSROOT:[^"]+]]"
38// CHECK-BASIC-LIBCXXV2-SYSROOT: "-internal-isystem" "[[SYSROOT]]/usr/include/c++/v2"
39// CHECK-BASIC-LIBCXXV2-SYSROOT: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
40// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
41// RUN: -target x86_64-unknown-linux-gnu \
42// RUN: -stdlib=libc++ \
43// RUN: -ccc-install-dir %S/Inputs/basic_linux_libcxxv2_tree/usr/bin \
44// RUN: --sysroot=%S/Inputs/basic_linux_libcxxv2_tree \
45// RUN: --gcc-toolchain="" \
46// RUN: | FileCheck --check-prefix=CHECK-BASIC-LIBCXXV2-INSTALL %s
47// CHECK-BASIC-LIBCXXV2-INSTALL: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
48// CHECK-BASIC-LIBCXXV2-INSTALL: "-isysroot" "[[SYSROOT:[^"]+]]"
49// CHECK-BASIC-LIBCXXV2-INSTALL: "-internal-isystem" "[[SYSROOT]]/usr/bin/../include/c++/v2"
50// CHECK-BASIC-LIBCXXV2-INSTALL: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
51//
52// Test Linux with both libc++ and libstdc++ installed.
53// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
54// RUN: -target x86_64-unknown-linux-gnu \
55// RUN: -stdlib=libc++ \
56// RUN: -ccc-install-dir %S/Inputs/basic_linux_tree/usr/bin \
57// RUN: --sysroot=%S/Inputs/basic_linux_libstdcxx_libcxxv2_tree \
58// RUN: --gcc-toolchain="" \
59// RUN: | FileCheck --check-prefix=CHECK-BASIC-LIBSTDCXX-LIBCXXV2-SYSROOT %s
60// CHECK-BASIC-LIBSTDCXX-LIBCXXV2-SYSROOT: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
61// CHECK-BASIC-LIBSTDCXX-LIBCXXV2-SYSROOT: "-isysroot" "[[SYSROOT:[^"]+]]"
62// CHECK-BASIC-LIBSTDCXX-LIBCXXV2-SYSROOT: "-internal-isystem" "[[SYSROOT]]/usr/include/c++/v2"
63// CHECK-BASIC-LIBSTDCXX-LIBCXXV2-SYSROOT: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
64//
Chandler Carruth6e46ca22011-11-09 03:46:20 +000065// Test a very broken version of multiarch that shipped in Ubuntu 11.04.
66// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +000067// RUN: -target i386-unknown-linux -stdlib=libstdc++ \
Chandler Carruth6e46ca22011-11-09 03:46:20 +000068// RUN: --sysroot=%S/Inputs/ubuntu_11.04_multiarch_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +000069// RUN: --gcc-toolchain="" \
Chandler Carruth6e46ca22011-11-09 03:46:20 +000070// RUN: | FileCheck --check-prefix=CHECK-UBUNTU-11-04 %s
71// CHECK-UBUNTU-11-04: "{{.*}}clang{{.*}}" "-cc1"
Sean Silvafdcbb022015-01-28 14:19:08 +000072// CHECK-UBUNTU-11-04: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
Chandler Carruth6e46ca22011-11-09 03:46:20 +000073// CHECK-UBUNTU-11-04: "-isysroot" "[[SYSROOT:[^"]+]]"
74// CHECK-UBUNTU-11-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../../../include/c++/4.5"
75// CHECK-UBUNTU-11-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../../../include/c++/4.5/i686-linux-gnu"
76// CHECK-UBUNTU-11-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../../../include/c++/4.5/backward"
77// CHECK-UBUNTU-11-04: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
Sean Silvafdcbb022015-01-28 14:19:08 +000078// CHECK-UBUNTU-11-04: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
Chandler Carruth6e46ca22011-11-09 03:46:20 +000079// CHECK-UBUNTU-11-04: "-internal-externc-isystem" "[[SYSROOT]]/include"
80// CHECK-UBUNTU-11-04: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
Chandler Carruth2e9d7312012-02-26 09:21:43 +000081//
Dmitri Gribenko15225ae2013-03-06 17:14:05 +000082// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +000083// RUN: -target x86_64-unknown-linux-gnu -stdlib=libstdc++ \
Dmitri Gribenko15225ae2013-03-06 17:14:05 +000084// RUN: --sysroot=%S/Inputs/ubuntu_13.04_multiarch_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +000085// RUN: --gcc-toolchain="" \
Dmitri Gribenko15225ae2013-03-06 17:14:05 +000086// RUN: | FileCheck --check-prefix=CHECK-UBUNTU-13-04 %s
87// CHECK-UBUNTU-13-04: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
Sean Silvafdcbb022015-01-28 14:19:08 +000088// CHECK-UBUNTU-13-04: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
Dmitri Gribenko15225ae2013-03-06 17:14:05 +000089// CHECK-UBUNTU-13-04: "-isysroot" "[[SYSROOT:[^"]+]]"
90// CHECK-UBUNTU-13-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7"
Dmitri Gribenko15225ae2013-03-06 17:14:05 +000091// CHECK-UBUNTU-13-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/x86_64-linux-gnu/c++/4.7"
Chandler Carruthc44f4d42014-08-27 08:41:41 +000092// CHECK-UBUNTU-13-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/backward"
Dmitri Gribenko15225ae2013-03-06 17:14:05 +000093// CHECK-UBUNTU-13-04: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
Sean Silvafdcbb022015-01-28 14:19:08 +000094// CHECK-UBUNTU-13-04: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
Dmitri Gribenko15225ae2013-03-06 17:14:05 +000095// CHECK-UBUNTU-13-04: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/x86_64-linux-gnu"
96// CHECK-UBUNTU-13-04: "-internal-externc-isystem" "[[SYSROOT]]/include"
97// CHECK-UBUNTU-13-04: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
98//
Eli Friedmanbf44f362013-07-26 00:53:40 +000099// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000100// RUN: -target x86_64-unknown-linux-gnux32 -stdlib=libstdc++ \
Zinovy Nis1db95732014-07-10 15:27:19 +0000101// RUN: --sysroot=%S/Inputs/ubuntu_14.04_multiarch_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +0000102// RUN: --gcc-toolchain="" \
Zinovy Nis1db95732014-07-10 15:27:19 +0000103// RUN: | FileCheck --check-prefix=CHECK-UBUNTU-14-04 %s
104// CHECK-UBUNTU-14-04: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
Sean Silvafdcbb022015-01-28 14:19:08 +0000105// CHECK-UBUNTU-14-04: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
Zinovy Nis1db95732014-07-10 15:27:19 +0000106// CHECK-UBUNTU-14-04: "-isysroot" "[[SYSROOT:[^"]+]]"
107// CHECK-UBUNTU-14-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8"
Zinovy Nis1db95732014-07-10 15:27:19 +0000108// CHECK-UBUNTU-14-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/x86_64-linux-gnu/c++/4.8/x32"
Chandler Carruthc44f4d42014-08-27 08:41:41 +0000109// CHECK-UBUNTU-14-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/backward"
Zinovy Nis1db95732014-07-10 15:27:19 +0000110// CHECK-UBUNTU-14-04: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
Sean Silvafdcbb022015-01-28 14:19:08 +0000111// CHECK-UBUNTU-14-04: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
Zinovy Nis1db95732014-07-10 15:27:19 +0000112// CHECK-UBUNTU-14-04: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/x86_64-linux-gnu"
113// CHECK-UBUNTU-14-04: "-internal-externc-isystem" "[[SYSROOT]]/include"
114// CHECK-UBUNTU-14-04: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
115///
116// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000117// RUN: -target arm-linux-gnueabihf -stdlib=libstdc++ \
Eli Friedmanbf44f362013-07-26 00:53:40 +0000118// RUN: --sysroot=%S/Inputs/ubuntu_13.04_multiarch_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +0000119// RUN: --gcc-toolchain="" \
Eli Friedmanbf44f362013-07-26 00:53:40 +0000120// RUN: | FileCheck --check-prefix=CHECK-UBUNTU-13-04-CROSS %s
121// CHECK-UBUNTU-13-04-CROSS: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
Sean Silvafdcbb022015-01-28 14:19:08 +0000122// CHECK-UBUNTU-13-04-CROSS: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
Eli Friedmanbf44f362013-07-26 00:53:40 +0000123// CHECK-UBUNTU-13-04-CROSS: "-isysroot" "[[SYSROOT:[^"]+]]"
124// CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7/../../../../include/c++/4.7"
Eli Friedmanbf44f362013-07-26 00:53:40 +0000125// CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7/../../../../include/arm-linux-gnueabihf/c++/4.7"
Chandler Carruthc44f4d42014-08-27 08:41:41 +0000126// CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7/../../../../include/c++/4.7/backward"
Eli Friedmanbf44f362013-07-26 00:53:40 +0000127// CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
Sean Silvafdcbb022015-01-28 14:19:08 +0000128// CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
Eli Friedmanbf44f362013-07-26 00:53:40 +0000129// CHECK-UBUNTU-13-04-CROSS: "-internal-externc-isystem" "[[SYSROOT]]/include"
130// CHECK-UBUNTU-13-04-CROSS: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
131//
Dmitri Gribenko15225ae2013-03-06 17:14:05 +0000132// Test Ubuntu/Debian's new version of multiarch, with -m32.
133// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000134// RUN: -target x86_64-unknown-linux-gnu -m32 -stdlib=libstdc++ \
Dmitri Gribenko15225ae2013-03-06 17:14:05 +0000135// RUN: --sysroot=%S/Inputs/ubuntu_13.04_multiarch_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +0000136// RUN: --gcc-toolchain="" \
Dmitri Gribenko15225ae2013-03-06 17:14:05 +0000137// RUN: | FileCheck --check-prefix=CHECK-UBUNTU-13-04-M32 %s
138// CHECK-UBUNTU-13-04-M32: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
139// CHECK-UBUNTU-13-04-M32: "-triple" "i386-unknown-linux-gnu"
140// CHECK-UBUNTU-13-04-M32: "-isysroot" "[[SYSROOT:[^"]+]]"
141// CHECK-UBUNTU-13-04-M32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7"
Dmitri Gribenko15225ae2013-03-06 17:14:05 +0000142// CHECK-UBUNTU-13-04-M32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/x86_64-linux-gnu/c++/4.7/32"
Chandler Carruthc44f4d42014-08-27 08:41:41 +0000143// CHECK-UBUNTU-13-04-M32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/backward"
Dmitri Gribenko15225ae2013-03-06 17:14:05 +0000144//
Simon Atanasyan60280b42014-05-12 07:37:51 +0000145// Test Ubuntu/Debian's Ubuntu 14.04 config variant, with -m32
146// and an empty 4.9 directory.
147// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000148// RUN: -target x86_64-unknown-linux-gnu -m32 -stdlib=libstdc++ \
Simon Atanasyan60280b42014-05-12 07:37:51 +0000149// RUN: --sysroot=%S/Inputs/ubuntu_14.04_multiarch_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +0000150// RUN: --gcc-toolchain="" \
Simon Atanasyan60280b42014-05-12 07:37:51 +0000151// RUN: | FileCheck --check-prefix=CHECK-UBUNTU-14-04-M32 %s
152// CHECK-UBUNTU-14-04-M32: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
153// CHECK-UBUNTU-14-04-M32: "-triple" "i386-unknown-linux-gnu"
154// CHECK-UBUNTU-14-04-M32: "-isysroot" "[[SYSROOT:[^"]+]]"
155// CHECK-UBUNTU-14-04-M32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8"
Simon Atanasyan60280b42014-05-12 07:37:51 +0000156// CHECK-UBUNTU-14-04-M32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/x86_64-linux-gnu/c++/4.8/32"
Chandler Carruthc44f4d42014-08-27 08:41:41 +0000157// CHECK-UBUNTU-14-04-M32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/backward"
158//
159// Test Ubuntu/Debian's Ubuntu 14.04 with -m32 and an i686 cross compiler
160// installed rather than relying on multilib. Also happens to look like an
161// actual i686 Ubuntu system.
162// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000163// RUN: -target x86_64-unknown-linux-gnu -m32 -stdlib=libstdc++ \
Chandler Carruthc44f4d42014-08-27 08:41:41 +0000164// RUN: --sysroot=%S/Inputs/ubuntu_14.04_multiarch_tree2 \
Samuel Antao4ae1f672015-01-05 17:07:42 +0000165// RUN: --gcc-toolchain="" \
Chandler Carruthc44f4d42014-08-27 08:41:41 +0000166// RUN: | FileCheck --check-prefix=CHECK-UBUNTU-14-04-I686 %s
167// CHECK-UBUNTU-14-04-I686: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
168// CHECK-UBUNTU-14-04-I686: "-triple" "i386-unknown-linux-gnu"
169// CHECK-UBUNTU-14-04-I686: "-isysroot" "[[SYSROOT:[^"]+]]"
170// CHECK-UBUNTU-14-04-I686: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/4.8/../../../../include/c++/4.8"
171// CHECK-UBUNTU-14-04-I686: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/4.8/../../../../include/i386-linux-gnu/c++/4.8"
172// CHECK-UBUNTU-14-04-I686: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/4.8/../../../../include/c++/4.8/backward"
Simon Atanasyan60280b42014-05-12 07:37:51 +0000173//
Ulrich Weiganda8331b92014-06-20 13:41:24 +0000174// Test Ubuntu/Debian's Ubuntu 14.04 for powerpc64le
175// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000176// RUN: -target powerpc64le-unknown-linux-gnu -m32 -stdlib=libstdc++ \
Ulrich Weiganda8331b92014-06-20 13:41:24 +0000177// RUN: --sysroot=%S/Inputs/ubuntu_14.04_multiarch_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +0000178// RUN: --gcc-toolchain="" \
Ulrich Weiganda8331b92014-06-20 13:41:24 +0000179// RUN: | FileCheck --check-prefix=CHECK-UBUNTU-14-04-PPC64LE %s
180// CHECK-UBUNTU-14-04-PPC64LE: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
181// CHECK-UBUNTU-14-04-PPC64LE: "-triple" "powerpc64le-unknown-linux-gnu"
182// CHECK-UBUNTU-14-04-PPC64LE: "-isysroot" "[[SYSROOT:[^"]+]]"
183// CHECK-UBUNTU-14-04-PPC64LE: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../../include/c++/4.8"
Ulrich Weiganda8331b92014-06-20 13:41:24 +0000184// CHECK-UBUNTU-14-04-PPC64LE: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../../include/powerpc64le-linux-gnu/c++/4.8"
Chandler Carruthc44f4d42014-08-27 08:41:41 +0000185// CHECK-UBUNTU-14-04-PPC64LE: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../../include/c++/4.8/backward"
Ulrich Weiganda8331b92014-06-20 13:41:24 +0000186// CHECK-UBUNTU-14-04-PPC64LE: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/powerpc64le-linux-gnu"
187// CHECK-UBUNTU-14-04-PPC64LE: "-internal-externc-isystem" "[[SYSROOT]]/include"
188// CHECK-UBUNTU-14-04-PPC64LE: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
189//
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000190// Thoroughly exercise the Debian multiarch environment.
191// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000192// RUN: -target i686-linux-gnu -stdlib=libstdc++ \
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000193// RUN: --sysroot=%S/Inputs/debian_multiarch_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +0000194// RUN: --gcc-toolchain="" \
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000195// RUN: | FileCheck --check-prefix=CHECK-DEBIAN-X86 %s
Benjamin Kramer1c45c9c2012-02-26 14:50:31 +0000196// CHECK-DEBIAN-X86: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
Sean Silvafdcbb022015-01-28 14:19:08 +0000197// CHECK-DEBIAN-X86: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000198// CHECK-DEBIAN-X86: "-isysroot" "[[SYSROOT:[^"]+]]"
199// CHECK-DEBIAN-X86: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/4.5/../../../../include/c++/4.5"
200// CHECK-DEBIAN-X86: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/4.5/../../../../include/c++/4.5/i686-linux-gnu"
201// CHECK-DEBIAN-X86: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/4.5/../../../../include/c++/4.5/backward"
202// CHECK-DEBIAN-X86: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
Sean Silvafdcbb022015-01-28 14:19:08 +0000203// CHECK-DEBIAN-X86: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000204// CHECK-DEBIAN-X86: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/i386-linux-gnu"
205// CHECK-DEBIAN-X86: "-internal-externc-isystem" "[[SYSROOT]]/include"
206// CHECK-DEBIAN-X86: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
207// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000208// RUN: -target x86_64-linux-gnu -stdlib=libstdc++ \
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000209// RUN: --sysroot=%S/Inputs/debian_multiarch_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +0000210// RUN: --gcc-toolchain="" \
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000211// RUN: | FileCheck --check-prefix=CHECK-DEBIAN-X86-64 %s
Benjamin Kramer6b2dc732012-02-26 14:55:10 +0000212// CHECK-DEBIAN-X86-64: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
Sean Silvafdcbb022015-01-28 14:19:08 +0000213// CHECK-DEBIAN-X86-64: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000214// CHECK-DEBIAN-X86-64: "-isysroot" "[[SYSROOT:[^"]+]]"
215// CHECK-DEBIAN-X86-64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.5/../../../../include/c++/4.5"
216// CHECK-DEBIAN-X86-64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.5/../../../../include/c++/4.5/x86_64-linux-gnu"
217// CHECK-DEBIAN-X86-64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.5/../../../../include/c++/4.5/backward"
218// CHECK-DEBIAN-X86-64: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
Sean Silvafdcbb022015-01-28 14:19:08 +0000219// CHECK-DEBIAN-X86-64: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000220// CHECK-DEBIAN-X86-64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/x86_64-linux-gnu"
221// CHECK-DEBIAN-X86-64: "-internal-externc-isystem" "[[SYSROOT]]/include"
222// CHECK-DEBIAN-X86-64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
Rafael Espindolafc3fc0c2012-10-09 20:46:28 +0000223// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000224// RUN: -target powerpc-linux-gnu -stdlib=libstdc++ \
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000225// RUN: --sysroot=%S/Inputs/debian_multiarch_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +0000226// RUN: --gcc-toolchain="" \
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000227// RUN: | FileCheck --check-prefix=CHECK-DEBIAN-PPC %s
Benjamin Kramer6b2dc732012-02-26 14:55:10 +0000228// CHECK-DEBIAN-PPC: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
Sean Silvafdcbb022015-01-28 14:19:08 +0000229// CHECK-DEBIAN-PPC: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000230// CHECK-DEBIAN-PPC: "-isysroot" "[[SYSROOT:[^"]+]]"
231// CHECK-DEBIAN-PPC: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc-linux-gnu/4.5/../../../../include/c++/4.5"
232// CHECK-DEBIAN-PPC: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc-linux-gnu/4.5/../../../../include/c++/4.5/powerpc-linux-gnu"
233// CHECK-DEBIAN-PPC: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc-linux-gnu/4.5/../../../../include/c++/4.5/backward"
234// CHECK-DEBIAN-PPC: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
Sean Silvafdcbb022015-01-28 14:19:08 +0000235// CHECK-DEBIAN-PPC: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000236// CHECK-DEBIAN-PPC: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/powerpc-linux-gnu"
237// CHECK-DEBIAN-PPC: "-internal-externc-isystem" "[[SYSROOT]]/include"
238// CHECK-DEBIAN-PPC: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
Rafael Espindolafc3fc0c2012-10-09 20:46:28 +0000239// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000240// RUN: -target powerpc64-linux-gnu -stdlib=libstdc++ \
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000241// RUN: --sysroot=%S/Inputs/debian_multiarch_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +0000242// RUN: --gcc-toolchain="" \
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000243// RUN: | FileCheck --check-prefix=CHECK-DEBIAN-PPC64 %s
Benjamin Kramer6b2dc732012-02-26 14:55:10 +0000244// CHECK-DEBIAN-PPC64: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
Sean Silvafdcbb022015-01-28 14:19:08 +0000245// CHECK-DEBIAN-PPC64: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000246// CHECK-DEBIAN-PPC64: "-isysroot" "[[SYSROOT:[^"]+]]"
247// CHECK-DEBIAN-PPC64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc64-linux-gnu/4.5/../../../../include/c++/4.5"
248// CHECK-DEBIAN-PPC64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc64-linux-gnu/4.5/../../../../include/c++/4.5/powerpc64-linux-gnu"
249// CHECK-DEBIAN-PPC64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc64-linux-gnu/4.5/../../../../include/c++/4.5/backward"
250// CHECK-DEBIAN-PPC64: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
Sean Silvafdcbb022015-01-28 14:19:08 +0000251// CHECK-DEBIAN-PPC64: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
Chandler Carruth2e9d7312012-02-26 09:21:43 +0000252// CHECK-DEBIAN-PPC64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/powerpc64-linux-gnu"
253// CHECK-DEBIAN-PPC64: "-internal-externc-isystem" "[[SYSROOT]]/include"
254// CHECK-DEBIAN-PPC64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
Chandler Carruth1f2b2f82013-08-26 08:59:53 +0000255//
256// Test Gentoo's weirdness both before and after they changed it in their GCC
257// 4.6.4 release.
258// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000259// RUN: -target x86_64-unknown-linux-gnu -stdlib=libstdc++ \
Chandler Carruth1f2b2f82013-08-26 08:59:53 +0000260// RUN: --sysroot=%S/Inputs/gentoo_linux_gcc_4.6.2_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +0000261// RUN: --gcc-toolchain="" \
Chandler Carruth1f2b2f82013-08-26 08:59:53 +0000262// RUN: | FileCheck --check-prefix=CHECK-GENTOO-4-6-2 %s
263// CHECK-GENTOO-4-6-2: "{{.*}}clang{{.*}}" "-cc1"
Sean Silvafdcbb022015-01-28 14:19:08 +0000264// CHECK-GENTOO-4-6-2: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
Chandler Carruth1f2b2f82013-08-26 08:59:53 +0000265// CHECK-GENTOO-4-6-2: "-isysroot" "[[SYSROOT:[^"]+]]"
266// CHECK-GENTOO-4-6-2: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/include/g++-v4"
267// CHECK-GENTOO-4-6-2: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/include/g++-v4/x86_64-pc-linux-gnu"
268// CHECK-GENTOO-4-6-2: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/include/g++-v4/backward"
269// CHECK-GENTOO-4-6-2: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
Sean Silvafdcbb022015-01-28 14:19:08 +0000270// CHECK-GENTOO-4-6-2: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
Chandler Carruth1f2b2f82013-08-26 08:59:53 +0000271// CHECK-GENTOO-4-6-2: "-internal-externc-isystem" "[[SYSROOT]]/include"
272// CHECK-GENTOO-4-6-2: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
273// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000274// RUN: -target x86_64-unknown-linux-gnu -stdlib=libstdc++ \
Chandler Carruth1f2b2f82013-08-26 08:59:53 +0000275// RUN: --sysroot=%S/Inputs/gentoo_linux_gcc_4.6.4_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +0000276// RUN: --gcc-toolchain="" \
Chandler Carruth1f2b2f82013-08-26 08:59:53 +0000277// RUN: | FileCheck --check-prefix=CHECK-GENTOO-4-6-4 %s
278// CHECK-GENTOO-4-6-4: "{{.*}}clang{{.*}}" "-cc1"
Sean Silvafdcbb022015-01-28 14:19:08 +0000279// CHECK-GENTOO-4-6-4: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
Chandler Carruth1f2b2f82013-08-26 08:59:53 +0000280// CHECK-GENTOO-4-6-4: "-isysroot" "[[SYSROOT:[^"]+]]"
281// CHECK-GENTOO-4-6-4: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.4/include/g++-v4.6"
282// CHECK-GENTOO-4-6-4: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.4/include/g++-v4.6/x86_64-pc-linux-gnu"
283// CHECK-GENTOO-4-6-4: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.4/include/g++-v4.6/backward"
284// CHECK-GENTOO-4-6-4: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
Sean Silvafdcbb022015-01-28 14:19:08 +0000285// CHECK-GENTOO-4-6-4: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
Chandler Carruth1f2b2f82013-08-26 08:59:53 +0000286// CHECK-GENTOO-4-6-4: "-internal-externc-isystem" "[[SYSROOT]]/include"
287// CHECK-GENTOO-4-6-4: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
Chandler Carruth81296fb2016-05-08 07:59:56 +0000288// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
289// RUN: -target x86_64-unknown-linux-gnu -stdlib=libstdc++ \
290// RUN: --sysroot=%S/Inputs/gentoo_linux_gcc_4.9.3_tree \
291// RUN: --gcc-toolchain="" \
292// RUN: | FileCheck --check-prefix=CHECK-GENTOO-4-9-3 %s
293// CHECK-GENTOO-4-9-3: "{{.*}}clang{{.*}}" "-cc1"
294// CHECK-GENTOO-4-9-3: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
295// CHECK-GENTOO-4-9-3: "-isysroot" "[[SYSROOT:[^"]+]]"
296// CHECK-GENTOO-4-9-3: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3"
297// CHECK-GENTOO-4-9-3: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3/x86_64-pc-linux-gnu"
298// CHECK-GENTOO-4-9-3: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3/backward"
299// CHECK-GENTOO-4-9-3: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
300// CHECK-GENTOO-4-9-3: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
301// CHECK-GENTOO-4-9-3: "-internal-externc-isystem" "[[SYSROOT]]/include"
302// CHECK-GENTOO-4-9-3: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
Simon Atanasyan3a46afa2014-06-24 19:00:12 +0000303//
Michal Gornybd449c22016-10-25 15:07:41 +0000304// Test support for Gentoo's gcc-config -- clang should prefer the older
305// (4.9.3) version over the newer (5.4.0) due to preference specified
306// in /etc/env.d/gcc/x86_64-pc-linux-gnu.
307// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
308// RUN: -target x86_64-unknown-linux-gnu -stdlib=libstdc++ \
309// RUN: --sysroot=%S/Inputs/gentoo_linux_gcc_multi_version_tree \
310// RUN: --gcc-toolchain="" \
311// RUN: | FileCheck --check-prefix=CHECK-GENTOO-4-9-3 %s
312//
Michal Gornyf4debdd2016-12-12 15:07:43 +0000313// Test that gcc-config support does not break multilib.
314// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
315// RUN: -target x86_64-unknown-linux-gnux32 -stdlib=libstdc++ \
316// RUN: --sysroot=%S/Inputs/gentoo_linux_gcc_multi_version_tree \
317// RUN: --gcc-toolchain="" \
318// RUN: | FileCheck --check-prefix=CHECK-GENTOO-4-9-3-X32 %s
319// CHECK-GENTOO-4-9-3-X32: "{{.*}}clang{{.*}}" "-cc1"
320// CHECK-GENTOO-4-9-3-X32: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
321// CHECK-GENTOO-4-9-3-X32: "-isysroot" "[[SYSROOT:[^"]+]]"
322// CHECK-GENTOO-4-9-3-X32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3"
323// CHECK-GENTOO-4-9-3-X32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3/x86_64-pc-linux-gnu/x32"
324// CHECK-GENTOO-4-9-3-X32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3/backward"
325// CHECK-GENTOO-4-9-3-X32: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
326// CHECK-GENTOO-4-9-3-X32: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
327// CHECK-GENTOO-4-9-3-X32: "-internal-externc-isystem" "[[SYSROOT]]/include"
328// CHECK-GENTOO-4-9-3-X32: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
329//
330// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
331// RUN: -target i386-unknown-linux-gnu -stdlib=libstdc++ \
332// RUN: --sysroot=%S/Inputs/gentoo_linux_gcc_multi_version_tree \
333// RUN: --gcc-toolchain="" \
334// RUN: | FileCheck --check-prefix=CHECK-GENTOO-4-9-3-32 %s
335// CHECK-GENTOO-4-9-3-32: "{{.*}}clang{{.*}}" "-cc1"
336// CHECK-GENTOO-4-9-3-32: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
337// CHECK-GENTOO-4-9-3-32: "-isysroot" "[[SYSROOT:[^"]+]]"
338// CHECK-GENTOO-4-9-3-32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3"
339// CHECK-GENTOO-4-9-3-32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3/x86_64-pc-linux-gnu/32"
340// CHECK-GENTOO-4-9-3-32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4.9.3/backward"
341// CHECK-GENTOO-4-9-3-32: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
342// CHECK-GENTOO-4-9-3-32: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
343// CHECK-GENTOO-4-9-3-32: "-internal-externc-isystem" "[[SYSROOT]]/include"
344// CHECK-GENTOO-4-9-3-32: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
345//
Simon Atanasyan3a46afa2014-06-24 19:00:12 +0000346// Check header search on Debian 6 / MIPS64
347// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000348// RUN: -target mips64-unknown-linux-gnuabi64 -stdlib=libstdc++ \
Simon Atanasyan3a46afa2014-06-24 19:00:12 +0000349// RUN: --sysroot=%S/Inputs/debian_6_mips64_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +0000350// RUN: --gcc-toolchain="" \
Simon Atanasyan3a46afa2014-06-24 19:00:12 +0000351// RUN: | FileCheck --check-prefix=CHECK-MIPS64-GNUABI %s
352// CHECK-MIPS64-GNUABI: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
Sean Silvafdcbb022015-01-28 14:19:08 +0000353// CHECK-MIPS64-GNUABI: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
Simon Atanasyan3a46afa2014-06-24 19:00:12 +0000354// CHECK-MIPS64-GNUABI: "-isysroot" "[[SYSROOT:[^"]+]]"
355// CHECK-MIPS64-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/mips64-linux-gnuabi64/4.9/../../../../include/c++/4.9"
356// CHECK-MIPS64-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/mips64-linux-gnuabi64/4.9/../../../../include/c++/4.9/mips64-linux-gnuabi64"
357// CHECK-MIPS64-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/mips64-linux-gnuabi64/4.9/../../../../include/c++/4.9/backward"
358// CHECK-MIPS64-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
Sean Silvafdcbb022015-01-28 14:19:08 +0000359// CHECK-MIPS64-GNUABI: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
Simon Atanasyan3a46afa2014-06-24 19:00:12 +0000360// CHECK-MIPS64-GNUABI: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/mips64-linux-gnuabi64"
361// CHECK-MIPS64-GNUABI: "-internal-externc-isystem" "[[SYSROOT]]/include"
362// CHECK-MIPS64-GNUABI: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
363//
364// Check header search on Debian 6 / MIPS64
365// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000366// RUN: -target mips64el-unknown-linux-gnuabi64 -stdlib=libstdc++ \
Simon Atanasyan3a46afa2014-06-24 19:00:12 +0000367// RUN: --sysroot=%S/Inputs/debian_6_mips64_tree \
Samuel Antao4ae1f672015-01-05 17:07:42 +0000368// RUN: --gcc-toolchain="" \
Simon Atanasyan3a46afa2014-06-24 19:00:12 +0000369// RUN: | FileCheck --check-prefix=CHECK-MIPS64EL-GNUABI %s
370// CHECK-MIPS64EL-GNUABI: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
Sean Silvafdcbb022015-01-28 14:19:08 +0000371// CHECK-MIPS64EL-GNUABI: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
Simon Atanasyan3a46afa2014-06-24 19:00:12 +0000372// CHECK-MIPS64EL-GNUABI: "-isysroot" "[[SYSROOT:[^"]+]]"
373// CHECK-MIPS64EL-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/mips64el-linux-gnuabi64/4.9/../../../../include/c++/4.9"
374// CHECK-MIPS64EL-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/mips64el-linux-gnuabi64/4.9/../../../../include/c++/4.9/mips64el-linux-gnuabi64"
375// CHECK-MIPS64EL-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/mips64el-linux-gnuabi64/4.9/../../../../include/c++/4.9/backward"
376// CHECK-MIPS64EL-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
Sean Silvafdcbb022015-01-28 14:19:08 +0000377// CHECK-MIPS64EL-GNUABI: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
Simon Atanasyan3a46afa2014-06-24 19:00:12 +0000378// CHECK-MIPS64EL-GNUABI: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/mips64el-linux-gnuabi64"
379// CHECK-MIPS64EL-GNUABI: "-internal-externc-isystem" "[[SYSROOT]]/include"
380// CHECK-MIPS64EL-GNUABI: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
James Y Knight09677ad2015-06-05 13:44:43 +0000381
382// Check header search on Debian 8 / Sparc
383// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000384// RUN: -target sparc-unknown-linux-gnu -stdlib=libstdc++ \
James Y Knight09677ad2015-06-05 13:44:43 +0000385// RUN: --sysroot=%S/Inputs/debian_8_sparc_multilib_tree \
386// RUN: --gcc-toolchain="" \
387// RUN: | FileCheck --check-prefix=CHECK-DEBIAN-SPARC32 %s
388// CHECK-DEBIAN-SPARC32: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
389// CHECK-DEBIAN-SPARC32: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
390// CHECK-DEBIAN-SPARC32: "-isysroot" "[[SYSROOT:[^"]+]]"
391// CHECK-DEBIAN-SPARC32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../include/c++/4.9"
392// CHECK-DEBIAN-SPARC32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../include/sparc-linux-gnu/c++/4.9"
393// CHECK-DEBIAN-SPARC32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../include/c++/4.9/backward"
394// CHECK-DEBIAN-SPARC32: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
395// CHECK-DEBIAN-SPARC32: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
396// CHECK-DEBIAN-SPARC32: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/sparc-linux-gnu"
397// CHECK-DEBIAN-SPARC32: "-internal-externc-isystem" "[[SYSROOT]]/include"
398// CHECK-DEBIAN-SPARC32: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
399
400// Check header search on Debian 8 / Sparc, with the oldstyle multilib packages
401// RUN: %clang -no-canonical-prefixes -m64 %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000402// RUN: -target sparc-unknown-linux-gnu -stdlib=libstdc++ \
James Y Knight09677ad2015-06-05 13:44:43 +0000403// RUN: --sysroot=%S/Inputs/debian_8_sparc_multilib_tree \
404// RUN: --gcc-toolchain="" \
405// RUN: | FileCheck --check-prefix=CHECK-DEBIAN-SPARC32-LIB64 %s
406// CHECK-DEBIAN-SPARC32-LIB64: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
407// CHECK-DEBIAN-SPARC32-LIB64: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
408// CHECK-DEBIAN-SPARC32-LIB64: "-isysroot" "[[SYSROOT:[^"]+]]"
409// CHECK-DEBIAN-SPARC32-LIB64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../include/c++/4.9"
410// CHECK-DEBIAN-SPARC32-LIB64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../include/sparc-linux-gnu/c++/4.9/64"
411// CHECK-DEBIAN-SPARC32-LIB64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../include/c++/4.9/backward"
412// CHECK-DEBIAN-SPARC32-LIB64: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
413// CHECK-DEBIAN-SPARC32-LIB64: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
414/* TODO: GCC 4.9 includes the following dir in its search path, which
415 seems questionable. Clang doesn't. Not sure if clang should be
416 doing that too. */
417// CHECK-DEBIAN-SPARC32-LIB64-todo: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/sparc-linux-gnu"
418// CHECK-DEBIAN-SPARC32-LIB64: "-internal-externc-isystem" "[[SYSROOT]]/include"
419// CHECK-DEBIAN-SPARC32-LIB64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"
420
421// Check header search on Debian 8 / Sparc64
422// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \
Jonas Hahnfeld91924a62016-02-12 07:48:28 +0000423// RUN: -target sparc64-unknown-linux-gnu -stdlib=libstdc++ \
James Y Knight09677ad2015-06-05 13:44:43 +0000424// RUN: --sysroot=%S/Inputs/debian_8_sparc64_tree \
425// RUN: --gcc-toolchain="" \
426// RUN: | FileCheck --check-prefix=CHECK-DEBIAN-SPARC64 %s
427// CHECK-DEBIAN-SPARC64: "{{[^"]*}}clang{{[^"]*}}" "-cc1"
428// CHECK-DEBIAN-SPARC64: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
429// CHECK-DEBIAN-SPARC64: "-isysroot" "[[SYSROOT:[^"]+]]"
430// CHECK-DEBIAN-SPARC64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../../../include/c++/4.9"
431// CHECK-DEBIAN-SPARC64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../../../include/sparc64-linux-gnu/c++/4.9"
432// CHECK-DEBIAN-SPARC64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../../../include/c++/4.9/backward"
433// CHECK-DEBIAN-SPARC64: "-internal-isystem" "[[SYSROOT]]/usr/local/include"
434// CHECK-DEBIAN-SPARC64: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"
435// CHECK-DEBIAN-SPARC64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/sparc64-linux-gnu"
436// CHECK-DEBIAN-SPARC64: "-internal-externc-isystem" "[[SYSROOT]]/include"
437// CHECK-DEBIAN-SPARC64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"