sthibaul created this revision. sthibaul requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
This is a follow-up of 35dd6470de84 <https://reviews.llvm.org/rG35dd6470de847636c212d7e0cd4d7ac2995679cc> for the Hurd case, to avoid the duplication of the i386-gnu path, already provided by Hurd::getMultiarchTriple. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D101324 Files: clang/lib/Driver/ToolChains/Hurd.cpp Index: clang/lib/Driver/ToolChains/Hurd.cpp =================================================================== --- clang/lib/Driver/ToolChains/Hurd.cpp +++ clang/lib/Driver/ToolChains/Hurd.cpp @@ -170,11 +170,13 @@ AddMultilibIncludeArgs(DriverArgs, CC1Args); - if (getTriple().getArch() == llvm::Triple::x86) { - std::string Path = SysRoot + "/usr/include/i386-gnu"; - if (D.getVFS().exists(Path)) - addExternCSystemInclude(DriverArgs, CC1Args, Path); - } + // On systems using multiarch, add /usr/include/$triple before + // /usr/include. + std::string MultiarchIncludeDir = getMultiarchTriple(D, getTriple(), SysRoot); + if (!MultiarchIncludeDir.empty() && + D.getVFS().exists(SysRoot + "/usr/include/" + MultiarchIncludeDir)) + addExternCSystemInclude(DriverArgs, CC1Args, + SysRoot + "/usr/include/" + MultiarchIncludeDir); // Add an include of '/include' directly. This isn't provided by default by // system GCCs, but is often used with cross-compiling GCCs, and harmless to
Index: clang/lib/Driver/ToolChains/Hurd.cpp =================================================================== --- clang/lib/Driver/ToolChains/Hurd.cpp +++ clang/lib/Driver/ToolChains/Hurd.cpp @@ -170,11 +170,13 @@ AddMultilibIncludeArgs(DriverArgs, CC1Args); - if (getTriple().getArch() == llvm::Triple::x86) { - std::string Path = SysRoot + "/usr/include/i386-gnu"; - if (D.getVFS().exists(Path)) - addExternCSystemInclude(DriverArgs, CC1Args, Path); - } + // On systems using multiarch, add /usr/include/$triple before + // /usr/include. + std::string MultiarchIncludeDir = getMultiarchTriple(D, getTriple(), SysRoot); + if (!MultiarchIncludeDir.empty() && + D.getVFS().exists(SysRoot + "/usr/include/" + MultiarchIncludeDir)) + addExternCSystemInclude(DriverArgs, CC1Args, + SysRoot + "/usr/include/" + MultiarchIncludeDir); // Add an include of '/include' directly. This isn't provided by default by // system GCCs, but is often used with cross-compiling GCCs, and harmless to
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits