[PATCH] D45292: [Driver] Obey computed sysroot when finding libc++ headers.

Dan Albert via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 4 14:59:45 PDT 2018


danalbert created this revision.
danalbert added a reviewer: srhines.
Herald added a reviewer: EricWF.

A handful of targets will try some default paths if --sysroot is not provided.
If that is the case, it should be used for the libc++ header paths.


Repository:
  rC Clang

https://reviews.llvm.org/D45292

Files:
  lib/Driver/ToolChains/Linux.cpp


Index: lib/Driver/ToolChains/Linux.cpp
===================================================================
--- lib/Driver/ToolChains/Linux.cpp
+++ lib/Driver/ToolChains/Linux.cpp
@@ -776,13 +776,14 @@
 }
 
 std::string Linux::findLibCxxIncludePath() const {
+  const std::string& SysRoot = computeSysRoot();
   const std::string LibCXXIncludePathCandidates[] = {
       DetectLibcxxIncludePath(getDriver().Dir + "/../include/c++"),
       // If this is a development, non-installed, clang, libcxx will
       // not be found at ../include/c++ but it likely to be found at
       // one of the following two locations:
-      DetectLibcxxIncludePath(getDriver().SysRoot + "/usr/local/include/c++"),
-      DetectLibcxxIncludePath(getDriver().SysRoot + "/usr/include/c++") };
+      DetectLibcxxIncludePath(SysRoot + "/usr/local/include/c++"),
+      DetectLibcxxIncludePath(SysRoot + "/usr/include/c++") };
   for (const auto &IncludePath : LibCXXIncludePathCandidates) {
     if (IncludePath.empty() || !getVFS().exists(IncludePath))
       continue;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45292.141069.patch
Type: text/x-patch
Size: 1051 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180404/72e6275d/attachment.bin>


More information about the cfe-commits mailing list