9#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_WEBASSEMBLY_H
10#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_WEBASSEMBLY_H
26 std::string getLinkerPath(
const llvm::opt::ArgList &Args)
const;
29 const llvm::opt::ArgList &TCArgs,
30 const char *LinkingOutput)
const override;
41 const llvm::opt::ArgList &Args);
44 bool IsMathErrnoDefault()
const override;
45 bool IsObjCNonFragileABIDefault()
const override;
46 bool UseObjCMixedDispatch()
const override;
47 bool isPICDefault()
const override;
48 bool isPIEDefault(
const llvm::opt::ArgList &Args)
const override;
49 bool isPICDefaultForced()
const override;
50 bool IsIntegratedAssemblerDefault()
const override;
51 bool hasBlocksRuntime()
const override;
52 bool SupportsProfiling()
const override;
53 bool HasNativeLLVMSupport()
const override;
54 unsigned GetDefaultDwarfVersion()
const override {
return 4; }
56 addClangTargetOptions(
const llvm::opt::ArgList &DriverArgs,
57 llvm::opt::ArgStringList &CC1Args,
59 RuntimeLibType GetDefaultRuntimeLibType()
const override;
60 CXXStdlibType GetCXXStdlibType(
const llvm::opt::ArgList &Args)
const override;
62 AddClangSystemIncludeArgs(
const llvm::opt::ArgList &DriverArgs,
63 llvm::opt::ArgStringList &CC1Args)
const override;
64 void AddClangCXXStdlibIncludeArgs(
65 const llvm::opt::ArgList &DriverArgs,
66 llvm::opt::ArgStringList &CC1Args)
const override;
67 void AddCXXStdlibLibArgs(
const llvm::opt::ArgList &Args,
68 llvm::opt::ArgStringList &CmdArgs)
const override;
71 const char *getDefaultLinker()
const override {
return "wasm-ld"; }
73 CXXStdlibType GetDefaultCXXStdlibType()
const override {
74 return ToolChain::CST_Libcxx;
77 Tool *buildLinker()
const override;
79 std::string getMultiarchTriple(
const Driver &D,
80 const llvm::Triple &TargetTriple,
81 StringRef SysRoot)
const override;
83 void addLibCxxIncludePaths(
const llvm::opt::ArgList &DriverArgs,
84 llvm::opt::ArgStringList &CC1Args)
const;
85 void addLibStdCXXIncludePaths(
const llvm::opt::ArgList &DriverArgs,
86 llvm::opt::ArgStringList &CC1Args)
const;
Compilation - A set of tasks to perform for a single driver invocation.
Driver - Encapsulate logic for constructing compilation processes from a set of gcc-driver-like comma...