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

Reply via email to