Index: llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Linux.cpp =================================================================== --- llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3.orig/clang/lib/Driver/ToolChains/Linux.cpp +++ llvm-toolchain-snapshot_10~+20191020075550+5b8546023f3/clang/lib/Driver/ToolChains/Linux.cpp @@ -151,6 +151,10 @@ static std::string getMultiarchTriple(co if (D.getVFS().exists(SysRoot + "/lib/powerpc64le-linux-gnu")) return "powerpc64le-linux-gnu"; break; + case llvm::Triple::riscv64: + if (D.getVFS().exists(SysRoot + "/lib/riscv64-linux-gnu")) + return "riscv64-linux-gnu"; + break; case llvm::Triple::sparc: if (D.getVFS().exists(SysRoot + "/lib/sparc-linux-gnu")) return "sparc-linux-gnu"; @@ -760,6 +764,8 @@ void Linux::AddClangSystemIncludeArgs(co "/usr/include/powerpc64-linux-gnu"}; const StringRef PPC64LEMultiarchIncludeDirs[] = { "/usr/include/powerpc64le-linux-gnu"}; + const StringRef RISCV64MultiarchIncludeDirs[] = { + "/usr/include/riscv64-linux-gnu"}; const StringRef SparcMultiarchIncludeDirs[] = { "/usr/include/sparc-linux-gnu"}; const StringRef Sparc64MultiarchIncludeDirs[] = { @@ -835,6 +841,9 @@ void Linux::AddClangSystemIncludeArgs(co case llvm::Triple::ppc64le: MultiarchIncludeDirs = PPC64LEMultiarchIncludeDirs; break; + case llvm::Triple::riscv64: + MultiarchIncludeDirs = RISCV64MultiarchIncludeDirs; + break; case llvm::Triple::sparc: MultiarchIncludeDirs = SparcMultiarchIncludeDirs; break;