summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains.cpp
diff options
context:
space:
mode:
authorDan Gohman <dan433584@gmail.com>2016-01-14 16:00:13 +0000
committerDan Gohman <dan433584@gmail.com>2016-01-14 16:00:13 +0000
commit6ad8f61297194f990e759ccc3e107b36800e56dc (patch)
tree7e70ac218cd611907186531517701fd447d43be2 /clang/lib/Driver/ToolChains.cpp
parentc5eded5c1e9fe3f4e1daced1bf8cf158ed90b288 (diff)
downloadbcm5719-llvm-6ad8f61297194f990e759ccc3e107b36800e56dc.tar.gz
bcm5719-llvm-6ad8f61297194f990e759ccc3e107b36800e56dc.zip
[WebAssembly] Configure some simple include paths and runtime library settings.
llvm-svn: 257774
Diffstat (limited to 'clang/lib/Driver/ToolChains.cpp')
-rw-r--r--clang/lib/Driver/ToolChains.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp
index beede2e0580..e3f25f1e32e 100644
--- a/clang/lib/Driver/ToolChains.cpp
+++ b/clang/lib/Driver/ToolChains.cpp
@@ -4449,6 +4449,29 @@ void WebAssembly::addClangTargetOptions(const ArgList &DriverArgs,
CC1Args.push_back("-fuse-init-array");
}
+ToolChain::RuntimeLibType WebAssembly::GetDefaultRuntimeLibType() const {
+ return ToolChain::RLT_CompilerRT;
+}
+
+ToolChain::CXXStdlibType WebAssembly::GetCXXStdlibType(const ArgList &Args) const {
+ return ToolChain::CST_Libcxx;
+}
+
+void WebAssembly::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
+ ArgStringList &CC1Args) const {
+ if (!DriverArgs.hasArg(options::OPT_nostdinc))
+ addSystemInclude(DriverArgs, CC1Args, getDriver().SysRoot + "/include");
+}
+
+void WebAssembly::AddClangCXXStdlibIncludeArgs(
+ const llvm::opt::ArgList &DriverArgs,
+ llvm::opt::ArgStringList &CC1Args) const {
+ if (!DriverArgs.hasArg(options::OPT_nostdlibinc) &&
+ !DriverArgs.hasArg(options::OPT_nostdincxx))
+ addSystemInclude(DriverArgs, CC1Args,
+ getDriver().SysRoot + "/include/c++/v1");
+}
+
Tool *WebAssembly::buildLinker() const {
return new tools::wasm::Linker(*this);
}
OpenPOWER on IntegriCloud