Yes. 1. Download https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/500976182686961e34974ea7bdc0a21fca32be06/debian_sid_amd64_sysroot.tar.xz 2. Unpack somewhere 3. Delete the lib/ folder in it 4. Try to use that sysroot like so:
thakis@thakis:~/src/llvm-project$ cat test.cc #include <features.h> int main(int argc, char* argv[]) { } thakis@thakis:~/src/llvm-project$ out/gn/bin/clang --sysroot ~/src/chrome/src/build/linux/debian_sid_amd64-sysroot -c test.cc In file included from test.cc:1: /usr/local/google/home/thakis/src/chrome/src/build/linux/debian_sid_amd64-sysroot/usr/include/features.h:461:12: fatal error: 'sys/cdefs.h' file not found # include <sys/cdefs.h> ^~~~~~~~~~~~~ 1 error generated. On Tue, Mar 23, 2021 at 11:01 PM Fangrui Song <i...@maskray.me> wrote: > On Tue, Mar 23, 2021 at 7:09 PM Nico Weber <tha...@chromium.org> wrote: > > > > Was this reviewed anywhere? > > No. This is a nice code cleanup. Do you find a case it does not handle > correctly? > > > On Mon, Mar 22, 2021 at 1:40 AM Fangrui Song via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> > >> > >> Author: Fangrui Song > >> Date: 2021-03-21T22:40:38-07:00 > >> New Revision: 874bdc8e61662b5f39a9626b9132e0979fae556f > >> > >> URL: > https://github.com/llvm/llvm-project/commit/874bdc8e61662b5f39a9626b9132e0979fae556f > >> DIFF: > https://github.com/llvm/llvm-project/commit/874bdc8e61662b5f39a9626b9132e0979fae556f.diff > >> > >> LOG: [Driver] Clean up Debian multiarch /usr/include/<triplet> madness > >> > >> Debian multiarch additionally adds /usr/include/<triplet> and somehow > >> Android borrowed the idea. (Note /usr/<triplet>/include is already an > >> include dir...). On Debian, we should just assume a GCC installation is > >> available and use its triple. > >> > >> Added: > >> > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabi/crt1.o > >> > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabi/crti.o > >> > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabi/crtn.o > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crt1.o > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crti.o > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crtn.o > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crt1.o > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crti.o > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crtn.o > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crt1.o > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crti.o > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crtn.o > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/arm-linux-gnueabi/10/crtbegin.o > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/arm-linux-gnueabihf/10/crtbegin.o > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/armeb-linux-gnueabi/10/crtbegin.o > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/armeb-linux-gnueabihf/10/crtbegin.o > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/arm-linux-gnueabihf/.keep > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/armeb-linux-gnueabi/.keep > >> > > clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/armeb-linux-gnueabihf/.keep > >> > >> Modified: > >> clang/lib/Driver/ToolChains/Gnu.cpp > >> clang/lib/Driver/ToolChains/Linux.cpp > >> clang/test/Driver/arm-multilibs.c > >> > >> Removed: > >> > > clang/test/Driver/Inputs/multilib_armeb_linux_tree/usr/include/armeb-linux-gnueabi/.keep > >> > > clang/test/Driver/Inputs/multilib_armebhf_linux_tree/usr/include/armeb-linux-gnueabihf/.keep > >> > > clang/test/Driver/Inputs/multilib_armhf_linux_tree/usr/include/arm-linux-gnueabihf/.keep > >> > >> > >> > ################################################################################ > >> diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp > b/clang/lib/Driver/ToolChains/Gnu.cpp > >> index c554047beac3..972044fb615e 100644 > >> --- a/clang/lib/Driver/ToolChains/Gnu.cpp > >> +++ b/clang/lib/Driver/ToolChains/Gnu.cpp > >> @@ -2999,8 +2999,6 @@ Generic_GCC::addGCCLibStdCxxIncludePaths(const > llvm::opt::ArgList &DriverArgs, > >> const Multilib &Multilib = GCCInstallation.getMultilib(); > >> const std::string Triple = getMultiarchTriple( > >> getDriver(), GCCInstallation.getTriple(), getDriver().SysRoot); > >> - const std::string TargetMultiarchTriple = > >> - getMultiarchTriple(getDriver(), getTriple(), > getDriver().SysRoot); > >> const GCCVersion &Version = GCCInstallation.getVersion(); > >> > >> // Try /../$triple/include/c++/$version then > /../include/c++/$version. > >> > >> diff --git a/clang/lib/Driver/ToolChains/Linux.cpp > b/clang/lib/Driver/ToolChains/Linux.cpp > >> index cbfa5152bc8e..e889791d19b2 100644 > >> --- a/clang/lib/Driver/ToolChains/Linux.cpp > >> +++ b/clang/lib/Driver/ToolChains/Linux.cpp > >> @@ -604,172 +604,16 @@ void Linux::AddClangSystemIncludeArgs(const > ArgList &DriverArgs, > >> return; > >> } > >> > >> - // Implement generic Debian multiarch support. > >> - const StringRef X86_64MultiarchIncludeDirs[] = { > >> - "/usr/include/x86_64-linux-gnu", > >> - > >> - // FIXME: These are older forms of multiarch. It's not clear > that they're > >> - // in use in any released version of Debian, so we should > consider > >> - // removing them. > >> - "/usr/include/i686-linux-gnu/64", > "/usr/include/i486-linux-gnu/64"}; > >> - const StringRef X86MultiarchIncludeDirs[] = { > >> - "/usr/include/i386-linux-gnu", > >> - > >> - // FIXME: These are older forms of multiarch. It's not clear > that they're > >> - // in use in any released version of Debian, so we should > consider > >> - // removing them. > >> - "/usr/include/x86_64-linux-gnu/32", > "/usr/include/i686-linux-gnu", > >> - "/usr/include/i486-linux-gnu"}; > >> - const StringRef AArch64MultiarchIncludeDirs[] = { > >> - "/usr/include/aarch64-linux-gnu"}; > >> - const StringRef ARMMultiarchIncludeDirs[] = { > >> - "/usr/include/arm-linux-gnueabi"}; > >> - const StringRef ARMHFMultiarchIncludeDirs[] = { > >> - "/usr/include/arm-linux-gnueabihf"}; > >> - const StringRef ARMEBMultiarchIncludeDirs[] = { > >> - "/usr/include/armeb-linux-gnueabi"}; > >> - const StringRef ARMEBHFMultiarchIncludeDirs[] = { > >> - "/usr/include/armeb-linux-gnueabihf"}; > >> - const StringRef M68kMultiarchIncludeDirs[] = > {"/usr/include/m68k-linux-gnu"}; > >> - const StringRef MIPSMultiarchIncludeDirs[] = > {"/usr/include/mips-linux-gnu"}; > >> - const StringRef MIPSELMultiarchIncludeDirs[] = { > >> - "/usr/include/mipsel-linux-gnu"}; > >> - const StringRef MIPS64MultiarchIncludeDirs[] = { > >> - "/usr/include/mips64-linux-gnuabi64"}; > >> - const StringRef MIPS64ELMultiarchIncludeDirs[] = { > >> - "/usr/include/mips64el-linux-gnuabi64"}; > >> - const StringRef MIPSN32MultiarchIncludeDirs[] = { > >> - "/usr/include/mips64-linux-gnuabin32"}; > >> - const StringRef MIPSN32ELMultiarchIncludeDirs[] = { > >> - "/usr/include/mips64el-linux-gnuabin32"}; > >> - const StringRef MIPSR6MultiarchIncludeDirs[] = { > >> - "/usr/include/mipsisa32-linux-gnu"}; > >> - const StringRef MIPSR6ELMultiarchIncludeDirs[] = { > >> - "/usr/include/mipsisa32r6el-linux-gnu"}; > >> - const StringRef MIPS64R6MultiarchIncludeDirs[] = { > >> - "/usr/include/mipsisa64r6-linux-gnuabi64"}; > >> - const StringRef MIPS64R6ELMultiarchIncludeDirs[] = { > >> - "/usr/include/mipsisa64r6el-linux-gnuabi64"}; > >> - const StringRef MIPSN32R6MultiarchIncludeDirs[] = { > >> - "/usr/include/mipsisa64r6-linux-gnuabin32"}; > >> - const StringRef MIPSN32R6ELMultiarchIncludeDirs[] = { > >> - "/usr/include/mipsisa64r6el-linux-gnuabin32"}; > >> - const StringRef PPCMultiarchIncludeDirs[] = { > >> - "/usr/include/powerpc-linux-gnu", > >> - "/usr/include/powerpc-linux-gnuspe"}; > >> - const StringRef PPCLEMultiarchIncludeDirs[] = { > >> - "/usr/include/powerpcle-linux-gnu"}; > >> - const StringRef PPC64MultiarchIncludeDirs[] = { > >> - "/usr/include/powerpc64-linux-gnu"}; > >> - const StringRef PPC64LEMultiarchIncludeDirs[] = { > >> - "/usr/include/powerpc64le-linux-gnu"}; > >> - const StringRef SparcMultiarchIncludeDirs[] = { > >> - "/usr/include/sparc-linux-gnu"}; > >> - const StringRef Sparc64MultiarchIncludeDirs[] = { > >> - "/usr/include/sparc64-linux-gnu"}; > >> - const StringRef SYSTEMZMultiarchIncludeDirs[] = { > >> - "/usr/include/s390x-linux-gnu"}; > >> - ArrayRef<StringRef> MultiarchIncludeDirs; > >> - switch (getTriple().getArch()) { > >> - case llvm::Triple::x86_64: > >> - MultiarchIncludeDirs = X86_64MultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::x86: > >> - MultiarchIncludeDirs = X86MultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::aarch64: > >> - case llvm::Triple::aarch64_be: > >> - MultiarchIncludeDirs = AArch64MultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::arm: > >> - case llvm::Triple::thumb: > >> - if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) > >> - MultiarchIncludeDirs = ARMHFMultiarchIncludeDirs; > >> - else > >> - MultiarchIncludeDirs = ARMMultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::armeb: > >> - case llvm::Triple::thumbeb: > >> - if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) > >> - MultiarchIncludeDirs = ARMEBHFMultiarchIncludeDirs; > >> - else > >> - MultiarchIncludeDirs = ARMEBMultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::m68k: > >> - MultiarchIncludeDirs = M68kMultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::mips: > >> - if (getTriple().getSubArch() == llvm::Triple::MipsSubArch_r6) > >> - MultiarchIncludeDirs = MIPSR6MultiarchIncludeDirs; > >> - else > >> - MultiarchIncludeDirs = MIPSMultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::mipsel: > >> - if (getTriple().getSubArch() == llvm::Triple::MipsSubArch_r6) > >> - MultiarchIncludeDirs = MIPSR6ELMultiarchIncludeDirs; > >> - else > >> - MultiarchIncludeDirs = MIPSELMultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::mips64: > >> - if (getTriple().getSubArch() == llvm::Triple::MipsSubArch_r6) > >> - if (getTriple().getEnvironment() == llvm::Triple::GNUABIN32) > >> - MultiarchIncludeDirs = MIPSN32R6MultiarchIncludeDirs; > >> - else > >> - MultiarchIncludeDirs = MIPS64R6MultiarchIncludeDirs; > >> - else if (getTriple().getEnvironment() == llvm::Triple::GNUABIN32) > >> - MultiarchIncludeDirs = MIPSN32MultiarchIncludeDirs; > >> - else > >> - MultiarchIncludeDirs = MIPS64MultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::mips64el: > >> - if (getTriple().getSubArch() == llvm::Triple::MipsSubArch_r6) > >> - if (getTriple().getEnvironment() == llvm::Triple::GNUABIN32) > >> - MultiarchIncludeDirs = MIPSN32R6ELMultiarchIncludeDirs; > >> - else > >> - MultiarchIncludeDirs = MIPS64R6ELMultiarchIncludeDirs; > >> - else if (getTriple().getEnvironment() == llvm::Triple::GNUABIN32) > >> - MultiarchIncludeDirs = MIPSN32ELMultiarchIncludeDirs; > >> - else > >> - MultiarchIncludeDirs = MIPS64ELMultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::ppc: > >> - MultiarchIncludeDirs = PPCMultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::ppcle: > >> - MultiarchIncludeDirs = PPCLEMultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::ppc64: > >> - MultiarchIncludeDirs = PPC64MultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::ppc64le: > >> - MultiarchIncludeDirs = PPC64LEMultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::sparc: > >> - MultiarchIncludeDirs = SparcMultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::sparcv9: > >> - MultiarchIncludeDirs = Sparc64MultiarchIncludeDirs; > >> - break; > >> - case llvm::Triple::systemz: > >> - MultiarchIncludeDirs = SYSTEMZMultiarchIncludeDirs; > >> - break; > >> - default: > >> - break; > >> - } > >> - > >> - const std::string AndroidMultiarchIncludeDir = > >> - std::string("/usr/include/") + > >> - getMultiarchTriple(D, getTriple(), SysRoot); > >> - const StringRef AndroidMultiarchIncludeDirs[] = > {AndroidMultiarchIncludeDir}; > >> + // On Android and Debian, add /usr/include/$triple if exists. On > Debian, we > >> + // can assume a GCC installation is available. > >> + std::string MultiarchIncludeDir; > >> if (getTriple().isAndroid()) > >> - MultiarchIncludeDirs = AndroidMultiarchIncludeDirs; > >> - > >> - for (StringRef Dir : MultiarchIncludeDirs) { > >> - if (D.getVFS().exists(SysRoot + Dir)) { > >> - addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + Dir); > >> - break; > >> - } > >> - } > >> + MultiarchIncludeDir = getMultiarchTriple(D, getTriple(), SysRoot); > >> + else if (GCCInstallation.isValid()) > >> + MultiarchIncludeDir = GCCInstallation.getTriple().str(); > >> + if (!MultiarchIncludeDir.empty() && > >> + D.getVFS().exists(SysRoot + "/usr/include/" + > MultiarchIncludeDir)) > >> + addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + > "/usr/include/" + MultiarchIncludeDir); > >> > >> if (getTriple().getOS() == llvm::Triple::RTEMS) > >> return; > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_armeb_linux_tree/usr/include/armeb-linux-gnueabi/.keep > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabi/crt1.o > >> similarity index 100% > >> rename from > clang/test/Driver/Inputs/multilib_armeb_linux_tree/usr/include/armeb-linux-gnueabi/.keep > >> rename to > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabi/crt1.o > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_armebhf_linux_tree/usr/include/armeb-linux-gnueabihf/.keep > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabi/crti.o > >> similarity index 100% > >> rename from > clang/test/Driver/Inputs/multilib_armebhf_linux_tree/usr/include/armeb-linux-gnueabihf/.keep > >> rename to > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabi/crti.o > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_armhf_linux_tree/usr/include/arm-linux-gnueabihf/.keep > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabi/crtn.o > >> similarity index 100% > >> rename from > clang/test/Driver/Inputs/multilib_armhf_linux_tree/usr/include/arm-linux-gnueabihf/.keep > >> rename to > clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabi/crtn.o > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crt1.o > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crt1.o > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crti.o > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crti.o > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crtn.o > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crtn.o > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crt1.o > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crt1.o > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crti.o > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crti.o > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crtn.o > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crtn.o > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crt1.o > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crt1.o > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crti.o > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crti.o > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crtn.o > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crtn.o > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/arm-linux-gnueabi/10/crtbegin.o > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/arm-linux-gnueabi/10/crtbegin.o > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/arm-linux-gnueabihf/10/crtbegin.o > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/arm-linux-gnueabihf/10/crtbegin.o > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/armeb-linux-gnueabi/10/crtbegin.o > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/armeb-linux-gnueabi/10/crtbegin.o > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/armeb-linux-gnueabihf/10/crtbegin.o > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/armeb-linux-gnueabihf/10/crtbegin.o > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/arm-linux-gnueabihf/.keep > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/arm-linux-gnueabihf/.keep > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/armeb-linux-gnueabi/.keep > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/armeb-linux-gnueabi/.keep > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git > a/clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/armeb-linux-gnueabihf/.keep > b/clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/armeb-linux-gnueabihf/.keep > >> new file mode 100644 > >> index 000000000000..e69de29bb2d1 > >> > >> diff --git a/clang/test/Driver/arm-multilibs.c > b/clang/test/Driver/arm-multilibs.c > >> index bd9c80e8b16a..3ec9ea0b97c5 100644 > >> --- a/clang/test/Driver/arm-multilibs.c > >> +++ b/clang/test/Driver/arm-multilibs.c > >> @@ -1,14 +1,14 @@ > >> -// RUN: %clang -target armv7-linux-gnueabi > --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s -o /dev/null 2>&1 | > FileCheck -check-prefix CHECK-ARM %s > >> -// RUN: %clang -target thumbv7-linux-gnueabi > --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s -o /dev/null 2>&1 | > FileCheck -check-prefix CHECK-ARM %s > >> +// RUN: %clang --target=armv7-linux-gnueabi > --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck > --check-prefix=CHECK-ARM %s > >> +// RUN: %clang --target=thumbv7-linux-gnueabi > --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck > --check-prefix=CHECK-ARM %s > >> > >> -// RUN: %clang -target armv7-linux-gnueabihf > --sysroot=%S/Inputs/multilib_armhf_linux_tree -### -c %s -o /dev/null 2>&1 > | FileCheck -check-prefix CHECK-ARMHF %s > >> -// RUN: %clang -target thumbv7-linux-gnueabihf > --sysroot=%S/Inputs/multilib_armhf_linux_tree -### -c %s -o /dev/null 2>&1 > | FileCheck -check-prefix CHECK-ARMHF %s > >> +// RUN: %clang --target=armv7-linux-gnueabihf > --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck > --check-prefix=CHECK-ARMHF %s > >> +// RUN: %clang --target=thumbv7-linux-gnueabihf > --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck > --check-prefix=CHECK-ARMHF %s > >> > >> -// RUN: %clang -target armv7eb-linux-gnueabi > --sysroot=%S/Inputs/multilib_armeb_linux_tree -### -c %s -o /dev/null 2>&1 > | FileCheck -check-prefix CHECK-ARMEB %s > >> -// RUN: %clang -target thumbv7eb-linux-gnueabi > --sysroot=%S/Inputs/multilib_armeb_linux_tree -### -c %s -o /dev/null 2>&1 > | FileCheck -check-prefix CHECK-ARMEB %s > >> +// RUN: %clang --target=armv7eb-linux-gnueabi > --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck > --check-prefix=CHECK-ARMEB %s > >> +// RUN: %clang --target=thumbv7eb-linux-gnueabi > --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck > --check-prefix=CHECK-ARMEB %s > >> > >> -// RUN: %clang -target armv7eb-linux-gnueabihf > --sysroot=%S/Inputs/multilib_armebhf_linux_tree -### -c %s -o /dev/null > 2>&1 | FileCheck -check-prefix CHECK-ARMEBHF %s > >> -// RUN: %clang -target thumbv7eb-linux-gnueabihf > --sysroot=%S/Inputs/multilib_armebhf_linux_tree -### -c %s -o /dev/null > 2>&1 | FileCheck -check-prefix CHECK-ARMEBHF %s > >> +// RUN: %clang --target=armv7eb-linux-gnueabihf > --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck > --check-prefix=CHECK-ARMEBHF %s > >> +// RUN: %clang --target=thumbv7eb-linux-gnueabihf > --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck > --check-prefix=CHECK-ARMEBHF %s > >> > >> // CHECK-ARM: "-internal-externc-isystem" > "{{.*}}/usr/include/arm-linux-gnueabi" > >> // CHECK-ARMHF: "-internal-externc-isystem" > "{{.*}}/usr/include/arm-linux-gnueabihf" > >> > >> > >> > >> _______________________________________________ > >> cfe-commits mailing list > >> cfe-commits@lists.llvm.org > >> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits