Skip to content
This repository was archived by the owner on Nov 1, 2021. It is now read-only.

Commit 09d5975

Browse files
author
Dan Gohman
committed
[WebAssembly] Configure some simple include paths and runtime library settings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@257774 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 0646128 commit 09d5975

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

lib/Driver/ToolChains.cpp

+23
Original file line numberDiff line numberDiff line change
@@ -4449,6 +4449,29 @@ void WebAssembly::addClangTargetOptions(const ArgList &DriverArgs,
44494449
CC1Args.push_back("-fuse-init-array");
44504450
}
44514451

4452+
ToolChain::RuntimeLibType WebAssembly::GetDefaultRuntimeLibType() const {
4453+
return ToolChain::RLT_CompilerRT;
4454+
}
4455+
4456+
ToolChain::CXXStdlibType WebAssembly::GetCXXStdlibType(const ArgList &Args) const {
4457+
return ToolChain::CST_Libcxx;
4458+
}
4459+
4460+
void WebAssembly::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
4461+
ArgStringList &CC1Args) const {
4462+
if (!DriverArgs.hasArg(options::OPT_nostdinc))
4463+
addSystemInclude(DriverArgs, CC1Args, getDriver().SysRoot + "/include");
4464+
}
4465+
4466+
void WebAssembly::AddClangCXXStdlibIncludeArgs(
4467+
const llvm::opt::ArgList &DriverArgs,
4468+
llvm::opt::ArgStringList &CC1Args) const {
4469+
if (!DriverArgs.hasArg(options::OPT_nostdlibinc) &&
4470+
!DriverArgs.hasArg(options::OPT_nostdincxx))
4471+
addSystemInclude(DriverArgs, CC1Args,
4472+
getDriver().SysRoot + "/include/c++/v1");
4473+
}
4474+
44524475
Tool *WebAssembly::buildLinker() const {
44534476
return new tools::wasm::Linker(*this);
44544477
}

lib/Driver/ToolChains.h

+8
Original file line numberDiff line numberDiff line change
@@ -1107,6 +1107,14 @@ class LLVM_LIBRARY_VISIBILITY WebAssembly final : public ToolChain {
11071107
bool HasNativeLLVMSupport() const override;
11081108
void addClangTargetOptions(const llvm::opt::ArgList &DriverArgs,
11091109
llvm::opt::ArgStringList &CC1Args) const override;
1110+
RuntimeLibType GetDefaultRuntimeLibType() const override;
1111+
CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override;
1112+
void AddClangSystemIncludeArgs(
1113+
const llvm::opt::ArgList &DriverArgs,
1114+
llvm::opt::ArgStringList &CC1Args) const override;
1115+
void AddClangCXXStdlibIncludeArgs(
1116+
const llvm::opt::ArgList &DriverArgs,
1117+
llvm::opt::ArgStringList &CC1Args) const override;
11101118

11111119
Tool *buildLinker() const override;
11121120
};

0 commit comments

Comments
 (0)