summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-09-09 13:36:00 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-09-09 13:36:00 +0000
commitd511726ce9c03b59627df9fa97cc267762bf8fcd (patch)
tree66abc716ac2f0cba37448f96a5a30f05da6b11cc /clang/lib/Driver/ToolChains.cpp
parentd7b073e0aabb1ffab720a7278eee37a4804a7def (diff)
downloadbcm5719-llvm-d511726ce9c03b59627df9fa97cc267762bf8fcd.tar.gz
bcm5719-llvm-d511726ce9c03b59627df9fa97cc267762bf8fcd.zip
[Solaris] Use the GCC Installation detector to add the C++ include paths.
Patch by Xan López! llvm-svn: 247144
Diffstat (limited to 'clang/lib/Driver/ToolChains.cpp')
-rw-r--r--clang/lib/Driver/ToolChains.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp
index d7989a7993f..7f0b9bb7472 100644
--- a/clang/lib/Driver/ToolChains.cpp
+++ b/clang/lib/Driver/ToolChains.cpp
@@ -2962,6 +2962,31 @@ Tool *Solaris::buildAssembler() const {
Tool *Solaris::buildLinker() const { return new tools::solaris::Linker(*this); }
+void Solaris::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
+ ArgStringList &CC1Args) const {
+ if (DriverArgs.hasArg(options::OPT_nostdlibinc) ||
+ DriverArgs.hasArg(options::OPT_nostdincxx))
+ return;
+
+ // Include the support directory for things like xlocale and fudged system
+ // headers.
+ addSystemInclude(DriverArgs, CC1Args, "/usr/include/c++/v1/support/solaris");
+
+ if (GCCInstallation.isValid()) {
+ GCCVersion Version = GCCInstallation.getVersion();
+ addSystemInclude(DriverArgs, CC1Args,
+ getDriver().SysRoot + "/usr/gcc/" +
+ Version.MajorStr + "." +
+ Version.MinorStr +
+ "/include/c++/" + Version.Text);
+ addSystemInclude(DriverArgs, CC1Args,
+ getDriver().SysRoot + "/usr/gcc/" + Version.MajorStr +
+ "." + Version.MinorStr + "/include/c++/" +
+ Version.Text + "/" +
+ GCCInstallation.getTriple().str());
+ }
+}
+
/// Distribution (very bare-bones at the moment).
enum Distro {
OpenPOWER on IntegriCloud