diff options
author | Dan Gohman <dan433584@gmail.com> | 2016-01-14 16:00:13 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2016-01-14 16:00:13 +0000 |
commit | 6ad8f61297194f990e759ccc3e107b36800e56dc (patch) | |
tree | 7e70ac218cd611907186531517701fd447d43be2 | |
parent | c5eded5c1e9fe3f4e1daced1bf8cf158ed90b288 (diff) | |
download | bcm5719-llvm-6ad8f61297194f990e759ccc3e107b36800e56dc.tar.gz bcm5719-llvm-6ad8f61297194f990e759ccc3e107b36800e56dc.zip |
[WebAssembly] Configure some simple include paths and runtime library settings.
llvm-svn: 257774
-rw-r--r-- | clang/lib/Driver/ToolChains.cpp | 23 | ||||
-rw-r--r-- | clang/lib/Driver/ToolChains.h | 8 |
2 files changed, 31 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); } diff --git a/clang/lib/Driver/ToolChains.h b/clang/lib/Driver/ToolChains.h index b6fd42696ed..622c414c62e 100644 --- a/clang/lib/Driver/ToolChains.h +++ b/clang/lib/Driver/ToolChains.h @@ -1107,6 +1107,14 @@ private: bool HasNativeLLVMSupport() const override; void addClangTargetOptions(const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override; + RuntimeLibType GetDefaultRuntimeLibType() const override; + CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override; + void AddClangSystemIncludeArgs( + const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; + void AddClangCXXStdlibIncludeArgs( + const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; Tool *buildLinker() const override; }; |