#include "WebAssembly.h"
#include "CommonArgs.h"
#include "Gnu.h"
#include "clang/Basic/Version.h"
#include "clang/Config/config.h"
#include "clang/Driver/Compilation.h"
#include "clang/Driver/Driver.h"
#include "clang/Driver/DriverDiagnostic.h"
#include "clang/Driver/Options.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/VirtualFileSystem.h"
usingnamespaceclang::driver;
usingnamespaceclang::driver::tools;
usingnamespaceclang::driver::toolchains;
usingnamespaceclang;
usingnamespacellvm::opt;
std::string WebAssembly::getMultiarchTriple(const Driver &D,
const llvm::Triple &TargetTriple,
StringRef SysRoot) const { … }
std::string wasm::Linker::getLinkerPath(const ArgList &Args) const { … }
static bool TargetBuildsComponents(const llvm::Triple &TargetTriple) { … }
void wasm::Linker::ConstructJob(Compilation &C, const JobAction &JA,
const InputInfo &Output,
const InputInfoList &Inputs,
const ArgList &Args,
const char *LinkingOutput) const { … }
static std::string AppendLTOLibDir(const std::string &Dir) { … }
WebAssembly::WebAssembly(const Driver &D, const llvm::Triple &Triple,
const llvm::opt::ArgList &Args)
: … { … }
const char *WebAssembly::getDefaultLinker() const { … }
bool WebAssembly::IsMathErrnoDefault() const { … }
bool WebAssembly::IsObjCNonFragileABIDefault() const { … }
bool WebAssembly::UseObjCMixedDispatch() const { … }
bool WebAssembly::isPICDefault() const { … }
bool WebAssembly::isPIEDefault(const llvm::opt::ArgList &Args) const { … }
bool WebAssembly::isPICDefaultForced() const { … }
bool WebAssembly::hasBlocksRuntime() const { … }
bool WebAssembly::SupportsProfiling() const { … }
bool WebAssembly::HasNativeLLVMSupport() const { … }
void WebAssembly::addClangTargetOptions(const ArgList &DriverArgs,
ArgStringList &CC1Args,
Action::OffloadKind) const { … }
ToolChain::RuntimeLibType WebAssembly::GetDefaultRuntimeLibType() const { … }
ToolChain::CXXStdlibType
WebAssembly::GetCXXStdlibType(const ArgList &Args) const { … }
void WebAssembly::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
ArgStringList &CC1Args) const { … }
void WebAssembly::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
ArgStringList &CC1Args) const { … }
void WebAssembly::AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
llvm::opt::ArgStringList &CmdArgs) const { … }
SanitizerMask WebAssembly::getSupportedSanitizers() const { … }
Tool *WebAssembly::buildLinker() const { … }
void WebAssembly::addLibCxxIncludePaths(
const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &CC1Args) const { … }
void WebAssembly::addLibStdCXXIncludePaths(
const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &CC1Args) const { … }