summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2011-11-07 10:44:38 +0000
committerChandler Carruth <chandlerc@gmail.com>2011-11-07 10:44:38 +0000
commitde9c697e1a6f0cedd2b2d69433e93ceab812a6ef (patch)
tree97dc821285350f13925c4a3952a7bf77a8a40996
parent02591c29cfe167711b116e8d61660775e63aa112 (diff)
downloadllvm-de9c697e1a6f0cedd2b2d69433e93ceab812a6ef.tar.gz
Merging r143916:
------------------------------------------------------------------------ r143916 | chandlerc | 2011-11-07 01:01:17 -0800 (Mon, 07 Nov 2011) | 4 lines Fix Linux libc++ usage. Somehow this slipped through during the port. Test cases for this and all the rest of the port are still in the works, but will wait for a fixed computer and post 3.0 merging... ------------------------------------------------------------------------ llvm-svn: 143955
-rw-r--r--clang/lib/Driver/ToolChains.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp
index 78223a9ba2a0..b140f9918ec0 100644
--- a/clang/lib/Driver/ToolChains.cpp
+++ b/clang/lib/Driver/ToolChains.cpp
@@ -2017,6 +2017,14 @@ void Linux::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
DriverArgs.hasArg(options::OPT_nostdincxx))
return;
+ // Check if libc++ has been enabled and provide its include paths if so.
+ if (GetCXXStdlibType(DriverArgs) == ToolChain::CST_Libcxx) {
+ // libc++ is always installed at a fixed path on Linux currently.
+ addSystemInclude(DriverArgs, CC1Args,
+ getDriver().SysRoot + "/usr/include/c++/v1");
+ return;
+ }
+
const llvm::Triple &TargetTriple = getTriple();
const llvm::Triple::ArchType TargetArch = TargetTriple.getArch();
bool IsTarget64Bit = (TargetArch == llvm::Triple::x86_64 ||