summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains.cpp
diff options
context:
space:
mode:
authorDouglas Katzman <dougk@google.com>2016-10-19 17:30:40 +0000
committerDouglas Katzman <dougk@google.com>2016-10-19 17:30:40 +0000
commit69d7cf0d41cc7e41967c16aab471bf9db71ed468 (patch)
treea4c84dcff544f9e79a084deff68fc9f6357be8a8 /clang/lib/Driver/ToolChains.cpp
parente32d0f8413cb271346029615f4f95b33851f354f (diff)
downloadbcm5719-llvm-69d7cf0d41cc7e41967c16aab471bf9db71ed468.tar.gz
bcm5719-llvm-69d7cf0d41cc7e41967c16aab471bf9db71ed468.zip
[Myriad] Find libc++ headers next to clang binary
llvm-svn: 284617
Diffstat (limited to 'clang/lib/Driver/ToolChains.cpp')
-rw-r--r--clang/lib/Driver/ToolChains.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp
index 1afe6e45255..558f47306bf 100644
--- a/clang/lib/Driver/ToolChains.cpp
+++ b/clang/lib/Driver/ToolChains.cpp
@@ -5130,15 +5130,19 @@ void MyriadToolChain::AddClangCXXStdlibIncludeArgs(
DriverArgs.hasArg(options::OPT_nostdincxx))
return;
- // Only libstdc++, for now.
- StringRef LibDir = GCCInstallation.getParentLibPath();
- const GCCVersion &Version = GCCInstallation.getVersion();
- StringRef TripleStr = GCCInstallation.getTriple().str();
- const Multilib &Multilib = GCCInstallation.getMultilib();
-
- addLibStdCXXIncludePaths(
- LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.Text,
- "", TripleStr, "", "", Multilib.includeSuffix(), DriverArgs, CC1Args);
+ if (GetCXXStdlibType(DriverArgs) == ToolChain::CST_Libcxx) {
+ std::string Path(getDriver().getInstalledDir());
+ Path += "/../include/c++/v1";
+ addSystemInclude(DriverArgs, CC1Args, Path);
+ } else {
+ StringRef LibDir = GCCInstallation.getParentLibPath();
+ const GCCVersion &Version = GCCInstallation.getVersion();
+ StringRef TripleStr = GCCInstallation.getTriple().str();
+ const Multilib &Multilib = GCCInstallation.getMultilib();
+ addLibStdCXXIncludePaths(
+ LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.Text,
+ "", TripleStr, "", "", Multilib.includeSuffix(), DriverArgs, CC1Args);
+ }
}
// MyriadToolChain handles several triples:
OpenPOWER on IntegriCloud