9#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_WEBASSEMBLY_H
10#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_WEBASSEMBLY_H
21class LLVM_LIBRARY_VISIBILITY
Linker final :
public Tool {
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 hasBlocksRuntime()
const override;
51 bool SupportsProfiling()
const override;
52 bool HasNativeLLVMSupport()
const override;
53 unsigned GetDefaultDwarfVersion()
const override {
return 4; }
55 addClangTargetOptions(
const llvm::opt::ArgList &DriverArgs,
56 llvm::opt::ArgStringList &CC1Args,
58 RuntimeLibType GetDefaultRuntimeLibType()
const override;
59 CXXStdlibType GetCXXStdlibType(
const llvm::opt::ArgList &Args)
const override;
61 AddClangSystemIncludeArgs(
const llvm::opt::ArgList &DriverArgs,
62 llvm::opt::ArgStringList &CC1Args)
const override;
63 void AddClangCXXStdlibIncludeArgs(
64 const llvm::opt::ArgList &DriverArgs,
65 llvm::opt::ArgStringList &CC1Args)
const override;
66 void AddCXXStdlibLibArgs(
const llvm::opt::ArgList &Args,
67 llvm::opt::ArgStringList &CmdArgs)
const override;
70 const char *getDefaultLinker()
const override;
72 CXXStdlibType GetDefaultCXXStdlibType()
const override {
73 return ToolChain::CST_Libcxx;
76 Tool *buildLinker()
const override;
78 std::string getMultiarchTriple(
const Driver &
D,
79 const llvm::Triple &TargetTriple,
80 StringRef SysRoot)
const override;
82 void addLibCxxIncludePaths(
const llvm::opt::ArgList &DriverArgs,
83 llvm::opt::ArgStringList &CC1Args)
const;
84 void addLibStdCXXIncludePaths(
const llvm::opt::ArgList &DriverArgs,
85 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...
The JSON file list parser is used to communicate input to InstallAPI.