123e42992SFangrui Song // UNSUPPORTED: system-windows 223e42992SFangrui Song 323e42992SFangrui Song /// Test native GCC installation on Arch Linux i686. 423e42992SFangrui Song // RUN: %clang -### %s --target=i686-linux-gnu --sysroot=%S/Inputs/archlinux_i686_tree -ccc-install-dir %S/Inputs/basic_linux_tree/usr/bin \ 5d5ca1602SAlex Brachet // RUN: --stdlib=platform --rtlib=platform --unwindlib=platform \ 623e42992SFangrui Song // RUN: --gcc-install-dir=%S/Inputs/archlinux_i686_tree/usr/lib/gcc/i686-pc-linux-gnu/11.1.0 2>&1 | FileCheck %s --check-prefix=ARCH_I686 723e42992SFangrui Song // ARCH_I686: "-internal-isystem" 823e42992SFangrui Song // ARCH_I686-SAME: {{^}} "[[SYSROOT:[^"]+]]/usr/lib/gcc/i686-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0" 923e42992SFangrui Song // ARCH_I686-SAME: {{^}} "-internal-isystem" "[[SYSROOT:[^"]+]]/usr/lib/gcc/i686-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/i686-pc-linux-gnu" 1023e42992SFangrui Song // ARCH_I686: "-L 1123e42992SFangrui Song // ARCH_I686-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/i686-pc-linux-gnu/11.1.0" 1223e42992SFangrui Song // ARCH_I686-SAME: {{^}} "-L[[SYSROOT]]/lib" 1323e42992SFangrui Song // ARCH_I686-SAME: {{^}} "-L[[SYSROOT]]/usr/lib" 1423e42992SFangrui Song 1523e42992SFangrui Song /// Test native GCC installation on Debian amd64. --gcc-install-dir= may end with /. 1623e42992SFangrui Song // RUN: %clangxx %s -### --target=x86_64-unknown-linux-gnu --sysroot=%S/Inputs/debian_multiarch_tree \ 17d5ca1602SAlex Brachet // RUN: -ccc-install-dir %S/Inputs/basic_linux_tree/usr/bin -resource-dir=%S/Inputs/resource_dir --stdlib=platform --rtlib=platform --unwindlib=platform \ 1823e42992SFangrui Song // RUN: --gcc-install-dir=%S/Inputs/debian_multiarch_tree/usr/lib/gcc/x86_64-linux-gnu/10/ 2>&1 | FileCheck %s --check-prefix=DEBIAN_X86_64 1923e42992SFangrui Song // DEBIAN_X86_64: "-internal-isystem" 2023e42992SFangrui Song // DEBIAN_X86_64-SAME: {{^}} "[[SYSROOT:[^"]+]]/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10" 2123e42992SFangrui Song // DEBIAN_X86_64-SAME: {{^}} "-internal-isystem" "[[SYSROOT:[^"]+]]/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10" 2223e42992SFangrui Song // DEBIAN_X86_64-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/backward" 2323e42992SFangrui Song /// We set explicit -ccc-install-dir ensure that Clang does not pick up extra 2423e42992SFangrui Song /// library directories which may be present in the runtimes build. 2523e42992SFangrui Song // DEBIAN_X86_64: "-L 2623e42992SFangrui Song // DEBIAN_X86_64-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/10" 2723e42992SFangrui Song // DEBIAN_X86_64-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib64" 2823e42992SFangrui Song 2923e42992SFangrui Song /// Test -m32. 3023e42992SFangrui Song // RUN: %clangxx %s -### --target=x86_64-unknown-linux-gnu -m32 --sysroot=%S/Inputs/debian_multiarch_tree \ 31d5ca1602SAlex Brachet // RUN: -ccc-install-dir %S/Inputs/basic_linux_tree/usr/bin -resource-dir=%S/Inputs/resource_dir --stdlib=platform --rtlib=platform --unwindlib=platform \ 3223e42992SFangrui Song // RUN: --gcc-install-dir=%S/Inputs/debian_multiarch_tree/usr/lib/gcc/x86_64-linux-gnu/10/ 2>&1 | FileCheck %s --check-prefix=DEBIAN_X86_64_M32 3323e42992SFangrui Song // DEBIAN_X86_64_M32: "-internal-isystem" 3423e42992SFangrui Song // DEBIAN_X86_64_M32-SAME: {{^}} "[[SYSROOT:[^"]+]]/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10" 3523e42992SFangrui Song // DEBIAN_X86_64_M32-SAME: {{^}} "-internal-isystem" "[[SYSROOT:[^"]+]]/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/x86_64-linux-gnu/c++/10/32" 3623e42992SFangrui Song // DEBIAN_X86_64_M32: "-L 3723e42992SFangrui Song // DEBIAN_X86_64_M32-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/10/32" 3823e42992SFangrui Song // DEBIAN_X86_64_M32-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib32" 3923e42992SFangrui Song 40*f39c399dSFangrui Song // RUN: not %clangxx %s -### --target=x86_64-unknown-linux-gnu --sysroot=%S/Inputs/debian_multiarch_tree \ 4123e42992SFangrui Song // RUN: -ccc-install-dir %S/Inputs/basic_linux_tree/usr/bin -resource-dir=%S/Inputs/resource_dir --stdlib=platform --rtlib=platform \ 4223e42992SFangrui Song // RUN: --gcc-install-dir=%S/Inputs/debian_multiarch_tree/usr/lib/gcc/x86_64-linux-gnu 2>&1 | FileCheck %s --check-prefix=INVALID 4323e42992SFangrui Song // INVALID: error: '{{.*}}/usr/lib/gcc/x86_64-linux-gnu' does not contain a GCC installation 44