lancethepants created this revision. Herald added subscribers: cfe-commits, jgravelle-google, sbc100, dschuff. Herald added a project: clang. lancethepants requested review of this revision. Herald added a subscriber: aheejin.
...the relative path of course does not start with "/", so the "/" is needed to properly join them. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D91194 Files: clang/lib/Driver/ToolChains/Darwin.cpp clang/lib/Driver/ToolChains/Fuchsia.cpp clang/lib/Driver/ToolChains/Hurd.cpp clang/lib/Driver/ToolChains/Linux.cpp clang/lib/Driver/ToolChains/OpenBSD.cpp clang/lib/Driver/ToolChains/Solaris.cpp clang/lib/Driver/ToolChains/WebAssembly.cpp
Index: clang/lib/Driver/ToolChains/WebAssembly.cpp =================================================================== --- clang/lib/Driver/ToolChains/WebAssembly.cpp +++ clang/lib/Driver/ToolChains/WebAssembly.cpp @@ -331,9 +331,12 @@ SmallVector<StringRef, 5> dirs; CIncludeDirs.split(dirs, ":"); for (StringRef dir : dirs) { - StringRef Prefix = - llvm::sys::path::is_absolute(dir) ? "" : StringRef(D.SysRoot); - addExternCSystemInclude(DriverArgs, CC1Args, Prefix + dir); + if (llvm::sys::path::is_absolute(dir)) + addExternCSystemInclude(DriverArgs, CC1Args, dir); + else { + addExternCSystemInclude(DriverArgs, CC1Args, + StringRef(D.SysRoot) + "/" + dir); + } } return; } Index: clang/lib/Driver/ToolChains/Solaris.cpp =================================================================== --- clang/lib/Driver/ToolChains/Solaris.cpp +++ clang/lib/Driver/ToolChains/Solaris.cpp @@ -245,9 +245,12 @@ SmallVector<StringRef, 5> dirs; CIncludeDirs.split(dirs, ":"); for (StringRef dir : dirs) { - StringRef Prefix = - llvm::sys::path::is_absolute(dir) ? "" : StringRef(D.SysRoot); - addExternCSystemInclude(DriverArgs, CC1Args, Prefix + dir); + if (llvm::sys::path::is_absolute(dir)) + addExternCSystemInclude(DriverArgs, CC1Args, dir); + else { + addExternCSystemInclude(DriverArgs, CC1Args, + StringRef(D.SysRoot) + "/" + dir); + } } return; } Index: clang/lib/Driver/ToolChains/OpenBSD.cpp =================================================================== --- clang/lib/Driver/ToolChains/OpenBSD.cpp +++ clang/lib/Driver/ToolChains/OpenBSD.cpp @@ -274,9 +274,12 @@ SmallVector<StringRef, 5> dirs; CIncludeDirs.split(dirs, ":"); for (StringRef dir : dirs) { - StringRef Prefix = - llvm::sys::path::is_absolute(dir) ? StringRef(D.SysRoot) : ""; - addExternCSystemInclude(DriverArgs, CC1Args, Prefix + dir); + if (llvm::sys::path::is_absolute(dir)) + addExternCSystemInclude(DriverArgs, CC1Args, dir); + else { + addExternCSystemInclude(DriverArgs, CC1Args, + StringRef(D.SysRoot) + "/" + dir); + } } return; } Index: clang/lib/Driver/ToolChains/Linux.cpp =================================================================== --- clang/lib/Driver/ToolChains/Linux.cpp +++ clang/lib/Driver/ToolChains/Linux.cpp @@ -578,9 +578,12 @@ SmallVector<StringRef, 5> dirs; CIncludeDirs.split(dirs, ":"); for (StringRef dir : dirs) { - StringRef Prefix = - llvm::sys::path::is_absolute(dir) ? "" : StringRef(SysRoot); - addExternCSystemInclude(DriverArgs, CC1Args, Prefix + dir); + if (llvm::sys::path::is_absolute(dir)) + addExternCSystemInclude(DriverArgs, CC1Args, dir); + else { + addExternCSystemInclude(DriverArgs, CC1Args, + StringRef(SysRoot) + "/" + dir); + } } return; } Index: clang/lib/Driver/ToolChains/Hurd.cpp =================================================================== --- clang/lib/Driver/ToolChains/Hurd.cpp +++ clang/lib/Driver/ToolChains/Hurd.cpp @@ -158,9 +158,12 @@ SmallVector<StringRef, 5> Dirs; CIncludeDirs.split(Dirs, ":"); for (StringRef Dir : Dirs) { - StringRef Prefix = - llvm::sys::path::is_absolute(Dir) ? "" : StringRef(SysRoot); - addExternCSystemInclude(DriverArgs, CC1Args, Prefix + Dir); + if (llvm::sys::path::is_absolute(Dir)) + addExternCSystemInclude(DriverArgs, CC1Args, Dir); + else { + addExternCSystemInclude(DriverArgs, CC1Args, + StringRef(SysRoot) + "/" + Dir); + } } return; } Index: clang/lib/Driver/ToolChains/Fuchsia.cpp =================================================================== --- clang/lib/Driver/ToolChains/Fuchsia.cpp +++ clang/lib/Driver/ToolChains/Fuchsia.cpp @@ -296,9 +296,12 @@ SmallVector<StringRef, 5> dirs; CIncludeDirs.split(dirs, ":"); for (StringRef dir : dirs) { - StringRef Prefix = - llvm::sys::path::is_absolute(dir) ? "" : StringRef(D.SysRoot); - addExternCSystemInclude(DriverArgs, CC1Args, Prefix + dir); + if (llvm::sys::path::is_absolute(dir)) + addExternCSystemInclude(DriverArgs, CC1Args, dir); + else { + addExternCSystemInclude(DriverArgs, CC1Args, + StringRef(D.SysRoot) + "/" + dir); + } } return; } Index: clang/lib/Driver/ToolChains/Darwin.cpp =================================================================== --- clang/lib/Driver/ToolChains/Darwin.cpp +++ clang/lib/Driver/ToolChains/Darwin.cpp @@ -1959,9 +1959,12 @@ llvm::SmallVector<llvm::StringRef, 5> dirs; CIncludeDirs.split(dirs, ":"); for (llvm::StringRef dir : dirs) { - llvm::StringRef Prefix = - llvm::sys::path::is_absolute(dir) ? "" : llvm::StringRef(Sysroot); - addExternCSystemInclude(DriverArgs, CC1Args, Prefix + dir); + if (llvm::sys::path::is_absolute(dir)) + addExternCSystemInclude(DriverArgs, CC1Args, dir); + else { + addExternCSystemInclude(DriverArgs, CC1Args, + StringRef(Sysroot) + "/" + dir); + } } } else { // Otherwise, add <sysroot>/usr/include.
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits