1 // General tests that the header search paths detected by the driver and passed 2 // to CC1 are sane. 3 // 4 // 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 \ 11 // RUN: --gcc-toolchain="" \ 12 // 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 \ 22 // RUN: --gcc-toolchain="" \ 23 // 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 // 29 // Test a very broken version of multiarch that shipped in Ubuntu 11.04. 30 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 31 // RUN: -target i386-unknown-linux \ 32 // RUN: --sysroot=%S/Inputs/ubuntu_11.04_multiarch_tree \ 33 // RUN: --gcc-toolchain="" \ 34 // RUN: | FileCheck --check-prefix=CHECK-UBUNTU-11-04 %s 35 // CHECK-UBUNTU-11-04: "{{.*}}clang{{.*}}" "-cc1" 36 // CHECK-UBUNTU-11-04: "-isysroot" "[[SYSROOT:[^"]+]]" 37 // CHECK-UBUNTU-11-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../../../include/c++/4.5" 38 // 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" 39 // CHECK-UBUNTU-11-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../../../include/c++/4.5/backward" 40 // CHECK-UBUNTU-11-04: "-internal-isystem" "[[SYSROOT]]/usr/local/include" 41 // CHECK-UBUNTU-11-04: "-internal-isystem" "{{.*}}{{/|\\\\}}lib{{(64|32)?}}{{/|\\\\}}clang{{/|\\\\}}{{[0-9]\.[0-9]\.[0-9]}}{{/|\\\\}}include" 42 // CHECK-UBUNTU-11-04: "-internal-externc-isystem" "[[SYSROOT]]/include" 43 // CHECK-UBUNTU-11-04: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" 44 // 45 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 46 // RUN: -target x86_64-unknown-linux-gnu \ 47 // RUN: --sysroot=%S/Inputs/ubuntu_13.04_multiarch_tree \ 48 // RUN: --gcc-toolchain="" \ 49 // RUN: | FileCheck --check-prefix=CHECK-UBUNTU-13-04 %s 50 // CHECK-UBUNTU-13-04: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 51 // CHECK-UBUNTU-13-04: "-isysroot" "[[SYSROOT:[^"]+]]" 52 // CHECK-UBUNTU-13-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7" 53 // CHECK-UBUNTU-13-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/x86_64-linux-gnu/c++/4.7" 54 // CHECK-UBUNTU-13-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/backward" 55 // CHECK-UBUNTU-13-04: "-internal-isystem" "[[SYSROOT]]/usr/local/include" 56 // CHECK-UBUNTU-13-04: "-internal-isystem" "{{.*}}{{/|\\\\}}lib{{(64|32)?}}{{/|\\\\}}clang{{/|\\\\}}{{[0-9]\.[0-9]\.[0-9]}}{{/|\\\\}}include" 57 // CHECK-UBUNTU-13-04: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/x86_64-linux-gnu" 58 // CHECK-UBUNTU-13-04: "-internal-externc-isystem" "[[SYSROOT]]/include" 59 // CHECK-UBUNTU-13-04: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" 60 // 61 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 62 // RUN: -target x86_64-unknown-linux-gnux32 \ 63 // RUN: --sysroot=%S/Inputs/ubuntu_14.04_multiarch_tree \ 64 // RUN: --gcc-toolchain="" \ 65 // RUN: | FileCheck --check-prefix=CHECK-UBUNTU-14-04 %s 66 // CHECK-UBUNTU-14-04: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 67 // CHECK-UBUNTU-14-04: "-isysroot" "[[SYSROOT:[^"]+]]" 68 // CHECK-UBUNTU-14-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8" 69 // 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" 70 // CHECK-UBUNTU-14-04: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/backward" 71 // CHECK-UBUNTU-14-04: "-internal-isystem" "[[SYSROOT]]/usr/local/include" 72 // CHECK-UBUNTU-14-04: "-internal-isystem" "{{.*}}{{/|\\\\}}lib{{(64|x32)?}}{{/|\\\\}}clang{{/|\\\\}}{{[0-9]\.[0-9]\.[0-9]}}{{/|\\\\}}include" 73 // CHECK-UBUNTU-14-04: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/x86_64-linux-gnu" 74 // CHECK-UBUNTU-14-04: "-internal-externc-isystem" "[[SYSROOT]]/include" 75 // CHECK-UBUNTU-14-04: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" 76 /// 77 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 78 // RUN: -target arm-linux-gnueabihf \ 79 // RUN: --sysroot=%S/Inputs/ubuntu_13.04_multiarch_tree \ 80 // RUN: --gcc-toolchain="" \ 81 // RUN: | FileCheck --check-prefix=CHECK-UBUNTU-13-04-CROSS %s 82 // CHECK-UBUNTU-13-04-CROSS: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 83 // CHECK-UBUNTU-13-04-CROSS: "-isysroot" "[[SYSROOT:[^"]+]]" 84 // CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7/../../../../include/c++/4.7" 85 // CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7/../../../../include/arm-linux-gnueabihf/c++/4.7" 86 // CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabihf/4.7/../../../../include/c++/4.7/backward" 87 // CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" "[[SYSROOT]]/usr/local/include" 88 // CHECK-UBUNTU-13-04-CROSS: "-internal-isystem" "{{.*}}{{/|\\\\}}lib{{(64|32)?}}{{/|\\\\}}clang{{/|\\\\}}{{[0-9]\.[0-9]\.[0-9]}}{{/|\\\\}}include" 89 // CHECK-UBUNTU-13-04-CROSS: "-internal-externc-isystem" "[[SYSROOT]]/include" 90 // CHECK-UBUNTU-13-04-CROSS: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" 91 // 92 // Test Ubuntu/Debian's new version of multiarch, with -m32. 93 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 94 // RUN: -target x86_64-unknown-linux-gnu -m32 \ 95 // RUN: --sysroot=%S/Inputs/ubuntu_13.04_multiarch_tree \ 96 // RUN: --gcc-toolchain="" \ 97 // RUN: | FileCheck --check-prefix=CHECK-UBUNTU-13-04-M32 %s 98 // CHECK-UBUNTU-13-04-M32: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 99 // CHECK-UBUNTU-13-04-M32: "-triple" "i386-unknown-linux-gnu" 100 // CHECK-UBUNTU-13-04-M32: "-isysroot" "[[SYSROOT:[^"]+]]" 101 // CHECK-UBUNTU-13-04-M32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7" 102 // 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" 103 // CHECK-UBUNTU-13-04-M32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../include/c++/4.7/backward" 104 // 105 // Test Ubuntu/Debian's Ubuntu 14.04 config variant, with -m32 106 // and an empty 4.9 directory. 107 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 108 // RUN: -target x86_64-unknown-linux-gnu -m32 \ 109 // RUN: --sysroot=%S/Inputs/ubuntu_14.04_multiarch_tree \ 110 // RUN: --gcc-toolchain="" \ 111 // RUN: | FileCheck --check-prefix=CHECK-UBUNTU-14-04-M32 %s 112 // CHECK-UBUNTU-14-04-M32: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 113 // CHECK-UBUNTU-14-04-M32: "-triple" "i386-unknown-linux-gnu" 114 // CHECK-UBUNTU-14-04-M32: "-isysroot" "[[SYSROOT:[^"]+]]" 115 // CHECK-UBUNTU-14-04-M32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8" 116 // 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" 117 // CHECK-UBUNTU-14-04-M32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/backward" 118 // 119 // Test Ubuntu/Debian's Ubuntu 14.04 with -m32 and an i686 cross compiler 120 // installed rather than relying on multilib. Also happens to look like an 121 // actual i686 Ubuntu system. 122 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 123 // RUN: -target x86_64-unknown-linux-gnu -m32 \ 124 // RUN: --sysroot=%S/Inputs/ubuntu_14.04_multiarch_tree2 \ 125 // RUN: --gcc-toolchain="" \ 126 // RUN: | FileCheck --check-prefix=CHECK-UBUNTU-14-04-I686 %s 127 // CHECK-UBUNTU-14-04-I686: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 128 // CHECK-UBUNTU-14-04-I686: "-triple" "i386-unknown-linux-gnu" 129 // CHECK-UBUNTU-14-04-I686: "-isysroot" "[[SYSROOT:[^"]+]]" 130 // CHECK-UBUNTU-14-04-I686: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/4.8/../../../../include/c++/4.8" 131 // CHECK-UBUNTU-14-04-I686: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/4.8/../../../../include/i386-linux-gnu/c++/4.8" 132 // CHECK-UBUNTU-14-04-I686: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/4.8/../../../../include/c++/4.8/backward" 133 // 134 // Test Ubuntu/Debian's Ubuntu 14.04 for powerpc64le 135 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 136 // RUN: -target powerpc64le-unknown-linux-gnu -m32 \ 137 // RUN: --sysroot=%S/Inputs/ubuntu_14.04_multiarch_tree \ 138 // RUN: --gcc-toolchain="" \ 139 // RUN: | FileCheck --check-prefix=CHECK-UBUNTU-14-04-PPC64LE %s 140 // CHECK-UBUNTU-14-04-PPC64LE: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 141 // CHECK-UBUNTU-14-04-PPC64LE: "-triple" "powerpc64le-unknown-linux-gnu" 142 // CHECK-UBUNTU-14-04-PPC64LE: "-isysroot" "[[SYSROOT:[^"]+]]" 143 // CHECK-UBUNTU-14-04-PPC64LE: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../../include/c++/4.8" 144 // CHECK-UBUNTU-14-04-PPC64LE: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../../include/powerpc64le-linux-gnu/c++/4.8" 145 // CHECK-UBUNTU-14-04-PPC64LE: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../../include/c++/4.8/backward" 146 // CHECK-UBUNTU-14-04-PPC64LE: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/powerpc64le-linux-gnu" 147 // CHECK-UBUNTU-14-04-PPC64LE: "-internal-externc-isystem" "[[SYSROOT]]/include" 148 // CHECK-UBUNTU-14-04-PPC64LE: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" 149 // 150 // Thoroughly exercise the Debian multiarch environment. 151 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 152 // RUN: -target i686-linux-gnu \ 153 // RUN: --sysroot=%S/Inputs/debian_multiarch_tree \ 154 // RUN: --gcc-toolchain="" \ 155 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-X86 %s 156 // CHECK-DEBIAN-X86: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 157 // CHECK-DEBIAN-X86: "-isysroot" "[[SYSROOT:[^"]+]]" 158 // CHECK-DEBIAN-X86: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/4.5/../../../../include/c++/4.5" 159 // CHECK-DEBIAN-X86: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/4.5/../../../../include/c++/4.5/i686-linux-gnu" 160 // CHECK-DEBIAN-X86: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/4.5/../../../../include/c++/4.5/backward" 161 // CHECK-DEBIAN-X86: "-internal-isystem" "[[SYSROOT]]/usr/local/include" 162 // CHECK-DEBIAN-X86: "-internal-isystem" "{{.*}}{{/|\\\\}}lib{{(64|32)?}}{{/|\\\\}}clang{{/|\\\\}}{{[0-9]\.[0-9]\.[0-9]}}{{/|\\\\}}include" 163 // CHECK-DEBIAN-X86: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/i386-linux-gnu" 164 // CHECK-DEBIAN-X86: "-internal-externc-isystem" "[[SYSROOT]]/include" 165 // CHECK-DEBIAN-X86: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" 166 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 167 // RUN: -target x86_64-linux-gnu \ 168 // RUN: --sysroot=%S/Inputs/debian_multiarch_tree \ 169 // RUN: --gcc-toolchain="" \ 170 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-X86-64 %s 171 // CHECK-DEBIAN-X86-64: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 172 // CHECK-DEBIAN-X86-64: "-isysroot" "[[SYSROOT:[^"]+]]" 173 // CHECK-DEBIAN-X86-64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.5/../../../../include/c++/4.5" 174 // CHECK-DEBIAN-X86-64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.5/../../../../include/c++/4.5/x86_64-linux-gnu" 175 // CHECK-DEBIAN-X86-64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.5/../../../../include/c++/4.5/backward" 176 // CHECK-DEBIAN-X86-64: "-internal-isystem" "[[SYSROOT]]/usr/local/include" 177 // CHECK-DEBIAN-X86-64: "-internal-isystem" "{{.*}}{{/|\\\\}}lib{{(64|32)?}}{{/|\\\\}}clang{{/|\\\\}}{{[0-9]\.[0-9]\.[0-9]}}{{/|\\\\}}include" 178 // CHECK-DEBIAN-X86-64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/x86_64-linux-gnu" 179 // CHECK-DEBIAN-X86-64: "-internal-externc-isystem" "[[SYSROOT]]/include" 180 // CHECK-DEBIAN-X86-64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" 181 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 182 // RUN: -target powerpc-linux-gnu \ 183 // RUN: --sysroot=%S/Inputs/debian_multiarch_tree \ 184 // RUN: --gcc-toolchain="" \ 185 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-PPC %s 186 // CHECK-DEBIAN-PPC: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 187 // CHECK-DEBIAN-PPC: "-isysroot" "[[SYSROOT:[^"]+]]" 188 // CHECK-DEBIAN-PPC: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc-linux-gnu/4.5/../../../../include/c++/4.5" 189 // CHECK-DEBIAN-PPC: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc-linux-gnu/4.5/../../../../include/c++/4.5/powerpc-linux-gnu" 190 // CHECK-DEBIAN-PPC: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc-linux-gnu/4.5/../../../../include/c++/4.5/backward" 191 // CHECK-DEBIAN-PPC: "-internal-isystem" "[[SYSROOT]]/usr/local/include" 192 // CHECK-DEBIAN-PPC: "-internal-isystem" "{{.*}}{{/|\\\\}}lib{{(64|32)?}}{{/|\\\\}}clang{{/|\\\\}}{{[0-9]\.[0-9]\.[0-9]}}{{/|\\\\}}include" 193 // CHECK-DEBIAN-PPC: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/powerpc-linux-gnu" 194 // CHECK-DEBIAN-PPC: "-internal-externc-isystem" "[[SYSROOT]]/include" 195 // CHECK-DEBIAN-PPC: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" 196 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 197 // RUN: -target powerpc64-linux-gnu \ 198 // RUN: --sysroot=%S/Inputs/debian_multiarch_tree \ 199 // RUN: --gcc-toolchain="" \ 200 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-PPC64 %s 201 // CHECK-DEBIAN-PPC64: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 202 // CHECK-DEBIAN-PPC64: "-isysroot" "[[SYSROOT:[^"]+]]" 203 // CHECK-DEBIAN-PPC64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc64-linux-gnu/4.5/../../../../include/c++/4.5" 204 // CHECK-DEBIAN-PPC64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc64-linux-gnu/4.5/../../../../include/c++/4.5/powerpc64-linux-gnu" 205 // CHECK-DEBIAN-PPC64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/powerpc64-linux-gnu/4.5/../../../../include/c++/4.5/backward" 206 // CHECK-DEBIAN-PPC64: "-internal-isystem" "[[SYSROOT]]/usr/local/include" 207 // CHECK-DEBIAN-PPC64: "-internal-isystem" "{{.*}}{{/|\\\\}}lib{{(64|32)?}}{{/|\\\\}}clang{{/|\\\\}}{{[0-9]\.[0-9]\.[0-9]}}{{/|\\\\}}include" 208 // CHECK-DEBIAN-PPC64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/powerpc64-linux-gnu" 209 // CHECK-DEBIAN-PPC64: "-internal-externc-isystem" "[[SYSROOT]]/include" 210 // CHECK-DEBIAN-PPC64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" 211 // 212 // Test Gentoo's weirdness both before and after they changed it in their GCC 213 // 4.6.4 release. 214 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 215 // RUN: -target x86_64-unknown-linux-gnu \ 216 // RUN: --sysroot=%S/Inputs/gentoo_linux_gcc_4.6.2_tree \ 217 // RUN: --gcc-toolchain="" \ 218 // RUN: | FileCheck --check-prefix=CHECK-GENTOO-4-6-2 %s 219 // CHECK-GENTOO-4-6-2: "{{.*}}clang{{.*}}" "-cc1" 220 // CHECK-GENTOO-4-6-2: "-isysroot" "[[SYSROOT:[^"]+]]" 221 // CHECK-GENTOO-4-6-2: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/include/g++-v4" 222 // 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" 223 // CHECK-GENTOO-4-6-2: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2/include/g++-v4/backward" 224 // CHECK-GENTOO-4-6-2: "-internal-isystem" "[[SYSROOT]]/usr/local/include" 225 // CHECK-GENTOO-4-6-2: "-internal-isystem" "{{.*}}{{/|\\\\}}lib{{(64|32)?}}{{/|\\\\}}clang{{/|\\\\}}{{[0-9]\.[0-9]\.[0-9]}}{{/|\\\\}}include" 226 // CHECK-GENTOO-4-6-2: "-internal-externc-isystem" "[[SYSROOT]]/include" 227 // CHECK-GENTOO-4-6-2: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" 228 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 229 // RUN: -target x86_64-unknown-linux-gnu \ 230 // RUN: --sysroot=%S/Inputs/gentoo_linux_gcc_4.6.4_tree \ 231 // RUN: --gcc-toolchain="" \ 232 // RUN: | FileCheck --check-prefix=CHECK-GENTOO-4-6-4 %s 233 // CHECK-GENTOO-4-6-4: "{{.*}}clang{{.*}}" "-cc1" 234 // CHECK-GENTOO-4-6-4: "-isysroot" "[[SYSROOT:[^"]+]]" 235 // CHECK-GENTOO-4-6-4: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.4/include/g++-v4.6" 236 // 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" 237 // CHECK-GENTOO-4-6-4: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.4/include/g++-v4.6/backward" 238 // CHECK-GENTOO-4-6-4: "-internal-isystem" "[[SYSROOT]]/usr/local/include" 239 // CHECK-GENTOO-4-6-4: "-internal-isystem" "{{.*}}{{/|\\\\}}lib{{(64|32)?}}{{/|\\\\}}clang{{/|\\\\}}{{[0-9]\.[0-9]\.[0-9]}}{{/|\\\\}}include" 240 // CHECK-GENTOO-4-6-4: "-internal-externc-isystem" "[[SYSROOT]]/include" 241 // CHECK-GENTOO-4-6-4: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" 242 // 243 // Check header search on Debian 6 / MIPS64 244 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 245 // RUN: -target mips64-unknown-linux-gnuabi64 \ 246 // RUN: --sysroot=%S/Inputs/debian_6_mips64_tree \ 247 // RUN: --gcc-toolchain="" \ 248 // RUN: | FileCheck --check-prefix=CHECK-MIPS64-GNUABI %s 249 // CHECK-MIPS64-GNUABI: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 250 // CHECK-MIPS64-GNUABI: "-isysroot" "[[SYSROOT:[^"]+]]" 251 // CHECK-MIPS64-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/mips64-linux-gnuabi64/4.9/../../../../include/c++/4.9" 252 // CHECK-MIPS64-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/mips64-linux-gnuabi64/4.9/../../../../include/c++/4.9/mips64-linux-gnuabi64" 253 // CHECK-MIPS64-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/mips64-linux-gnuabi64/4.9/../../../../include/c++/4.9/backward" 254 // CHECK-MIPS64-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/local/include" 255 // CHECK-MIPS64-GNUABI: "-internal-isystem" "{{.*}}{{/|\\\\}}lib{{(64|32)?}}{{/|\\\\}}clang{{/|\\\\}}{{[0-9]\.[0-9]\.[0-9]}}{{/|\\\\}}include" 256 // CHECK-MIPS64-GNUABI: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/mips64-linux-gnuabi64" 257 // CHECK-MIPS64-GNUABI: "-internal-externc-isystem" "[[SYSROOT]]/include" 258 // CHECK-MIPS64-GNUABI: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" 259 // 260 // Check header search on Debian 6 / MIPS64 261 // RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \ 262 // RUN: -target mips64el-unknown-linux-gnuabi64 \ 263 // RUN: --sysroot=%S/Inputs/debian_6_mips64_tree \ 264 // RUN: --gcc-toolchain="" \ 265 // RUN: | FileCheck --check-prefix=CHECK-MIPS64EL-GNUABI %s 266 // CHECK-MIPS64EL-GNUABI: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 267 // CHECK-MIPS64EL-GNUABI: "-isysroot" "[[SYSROOT:[^"]+]]" 268 // CHECK-MIPS64EL-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/mips64el-linux-gnuabi64/4.9/../../../../include/c++/4.9" 269 // CHECK-MIPS64EL-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/mips64el-linux-gnuabi64/4.9/../../../../include/c++/4.9/mips64el-linux-gnuabi64" 270 // CHECK-MIPS64EL-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/mips64el-linux-gnuabi64/4.9/../../../../include/c++/4.9/backward" 271 // CHECK-MIPS64EL-GNUABI: "-internal-isystem" "[[SYSROOT]]/usr/local/include" 272 // CHECK-MIPS64EL-GNUABI: "-internal-isystem" "{{.*}}{{/|\\\\}}lib{{(64|32)?}}{{/|\\\\}}clang{{/|\\\\}}{{[0-9]\.[0-9]\.[0-9]}}{{/|\\\\}}include" 273 // CHECK-MIPS64EL-GNUABI: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/mips64el-linux-gnuabi64" 274 // CHECK-MIPS64EL-GNUABI: "-internal-externc-isystem" "[[SYSROOT]]/include" 275 // CHECK-MIPS64EL-GNUABI: "-internal-externc-isystem" "[[SYSROOT]]/usr/include" 276