phosek created this revision.
phosek added a reviewer: mcgrathr.
Herald added a subscriber: cfe-commits.
When sysroot isn't explicitly set, try to use the default location which is
<driver path>/../<triple>
Repository:
rC Clang
https://reviews.llvm.org/D42019
Files:
lib/Driver/ToolChains/Fuchsia.cpp
Index: lib/Driver/ToolChains/Fuchsia.cpp
===================================================================
--- lib/Driver/ToolChains/Fuchsia.cpp
+++ lib/Driver/ToolChains/Fuchsia.cpp
@@ -146,6 +146,12 @@
return P.str();
}
+static std::string getSysRoot(const Driver &D, llvm::Triple Triple) {
+ SmallString<128> P(llvm::sys::path::parent_path(D.Dir));
+ llvm::sys::path::append(P, normalizeTriple(Triple));
+ return P.str();
+}
+
Fuchsia::Fuchsia(const Driver &D, const llvm::Triple &Triple,
const ArgList &Args)
: ToolChain(D, Triple, Args) {
@@ -157,11 +163,10 @@
llvm::sys::path::append(P, "lib");
getFilePaths().push_back(P.str());
- if (!D.SysRoot.empty()) {
- SmallString<128> P(D.SysRoot);
- llvm::sys::path::append(P, "lib");
- getFilePaths().push_back(P.str());
- }
+ SmallString<128> S(!D.SysRoot.empty() ? D.SysRoot
+ : getSysRoot(D, getTriple()));
+ llvm::sys::path::append(S, "lib");
+ getFilePaths().push_back(S.str());
}
std::string Fuchsia::ComputeEffectiveClangTriple(const ArgList &Args,
@@ -236,11 +241,10 @@
return;
}
- if (!D.SysRoot.empty()) {
- SmallString<128> P(D.SysRoot);
- llvm::sys::path::append(P, "include");
- addExternCSystemInclude(DriverArgs, CC1Args, P.str());
- }
+ SmallString<128> S(!D.SysRoot.empty() ? D.SysRoot
+ : getSysRoot(D, getTriple()));
+ llvm::sys::path::append(S, "include");
+ addExternCSystemInclude(DriverArgs, CC1Args, S.str());
}
void Fuchsia::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
Index: lib/Driver/ToolChains/Fuchsia.cpp
===================================================================
--- lib/Driver/ToolChains/Fuchsia.cpp
+++ lib/Driver/ToolChains/Fuchsia.cpp
@@ -146,6 +146,12 @@
return P.str();
}
+static std::string getSysRoot(const Driver &D, llvm::Triple Triple) {
+ SmallString<128> P(llvm::sys::path::parent_path(D.Dir));
+ llvm::sys::path::append(P, normalizeTriple(Triple));
+ return P.str();
+}
+
Fuchsia::Fuchsia(const Driver &D, const llvm::Triple &Triple,
const ArgList &Args)
: ToolChain(D, Triple, Args) {
@@ -157,11 +163,10 @@
llvm::sys::path::append(P, "lib");
getFilePaths().push_back(P.str());
- if (!D.SysRoot.empty()) {
- SmallString<128> P(D.SysRoot);
- llvm::sys::path::append(P, "lib");
- getFilePaths().push_back(P.str());
- }
+ SmallString<128> S(!D.SysRoot.empty() ? D.SysRoot
+ : getSysRoot(D, getTriple()));
+ llvm::sys::path::append(S, "lib");
+ getFilePaths().push_back(S.str());
}
std::string Fuchsia::ComputeEffectiveClangTriple(const ArgList &Args,
@@ -236,11 +241,10 @@
return;
}
- if (!D.SysRoot.empty()) {
- SmallString<128> P(D.SysRoot);
- llvm::sys::path::append(P, "include");
- addExternCSystemInclude(DriverArgs, CC1Args, P.str());
- }
+ SmallString<128> S(!D.SysRoot.empty() ? D.SysRoot
+ : getSysRoot(D, getTriple()));
+ llvm::sys::path::append(S, "include");
+ addExternCSystemInclude(DriverArgs, CC1Args, S.str());
}
void Fuchsia::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits