diff options
author | Petr Hosek <phosek@chromium.org> | 2018-04-10 19:55:55 +0000 |
---|---|---|
committer | Petr Hosek <phosek@chromium.org> | 2018-04-10 19:55:55 +0000 |
commit | 8d612149db286d97fdbe10191c13792f41283211 (patch) | |
tree | 5e118f7da1a322845162ca5b0a12d50237421e13 /clang/lib/Driver/ToolChains/NaCl.cpp | |
parent | 5eae06f21d52d4c1366625f3931c554699b761c1 (diff) | |
download | bcm5719-llvm-8d612149db286d97fdbe10191c13792f41283211.tar.gz bcm5719-llvm-8d612149db286d97fdbe10191c13792f41283211.zip |
[Driver] Allow drivers to add multiple libc++ include paths
This allows toolchain drivers to add multiple libc++ include paths akin
to libstdc++. This is useful in multiarch setup when some headers might
be in target specific include directory. There should be no functional
change.
Differential Revision: https://reviews.llvm.org/D45422
llvm-svn: 329748
Diffstat (limited to 'clang/lib/Driver/ToolChains/NaCl.cpp')
-rw-r--r-- | clang/lib/Driver/ToolChains/NaCl.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/clang/lib/Driver/ToolChains/NaCl.cpp b/clang/lib/Driver/ToolChains/NaCl.cpp index 128478d6387..2e5365b4814 100644 --- a/clang/lib/Driver/ToolChains/NaCl.cpp +++ b/clang/lib/Driver/ToolChains/NaCl.cpp @@ -309,25 +309,29 @@ void NaClToolChain::AddCXXStdlibLibArgs(const ArgList &Args, CmdArgs.push_back("-lc++"); } -std::string NaClToolChain::findLibCxxIncludePath() const { +void NaClToolChain::addLibCxxIncludePaths( + const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const { const Driver &D = getDriver(); SmallString<128> P(D.Dir + "/../"); switch (getTriple().getArch()) { case llvm::Triple::arm: llvm::sys::path::append(P, "arm-nacl/include/c++/v1"); - return P.str(); + addSystemInclude(DriverArgs, CC1Args, P.str()); + break; case llvm::Triple::x86: llvm::sys::path::append(P, "x86_64-nacl/include/c++/v1"); - return P.str(); + addSystemInclude(DriverArgs, CC1Args, P.str()); + break; case llvm::Triple::x86_64: llvm::sys::path::append(P, "x86_64-nacl/include/c++/v1"); - return P.str(); + addSystemInclude(DriverArgs, CC1Args, P.str()); + break; case llvm::Triple::mipsel: llvm::sys::path::append(P, "mipsel-nacl/include/c++/v1"); - return P.str(); - default: - return ""; + addSystemInclude(DriverArgs, CC1Args, P.str()); + break; } } |