diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp index 0df2d37938195..e889791d19b2e 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp @@ -604,8 +604,13 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs, return; } - // On Android and Debian, add /usr/include/$triple if exists. - std::string MultiarchIncludeDir = getMultiarchTriple(D, getTriple(), SysRoot); + // 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()) + 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); diff --git a/clang/test/Driver/Inputs/debian_multiarch_tree/usr/include/i386-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_multiarch_tree/usr/include/i386-linux-gnu/.keep deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/clang/test/Driver/linux-cross.cpp b/clang/test/Driver/linux-cross.cpp index 6fdd9193fa2fb..fa07d615f4fc3 100644 --- a/clang/test/Driver/linux-cross.cpp +++ b/clang/test/Driver/linux-cross.cpp @@ -34,8 +34,6 @@ // DEBIAN_X86_64_M32-SAME: {{^}} "-internal-isystem" "[[SYSROOT:[^"]+]]/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/backward" // DEBIAN_X86_64_M32-SAME: {{^}} "-internal-isystem" "[[SYSROOT]]/usr/local/include" // DEBIAN_X86_64_M32-SAME: {{^}} "-internal-isystem" "[[SYSROOT:[^"]+]]/usr/lib/gcc/x86_64-linux-gnu/10/../../../../x86_64-linux-gnu/include" -// DEBIAN_X86_64_M32: "-internal-externc-isystem" -// DEBIAN_X86_64_M32-SAME: {{^}} "[[SYSROOT]]/usr/include/i386-linux-gnu" // DEBIAN_X86_64_M32: "-L // DEBIAN_X86_64_M32-SAME: {{^}}[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/10/32" // DEBIAN_X86_64_M32-SAME: {{^}} "-L[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/10/../../../../lib32"