#include "OHOS.h"
#include "Arch/ARM.h"
#include "CommonArgs.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 "clang/Driver/SanitizerArgs.h"
#include "llvm/Option/ArgList.h"
#include "llvm/ProfileData/InstrProf.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/VirtualFileSystem.h"
#include "llvm/Support/ScopedPrinter.h"
usingnamespaceclang::driver;
usingnamespaceclang::driver::toolchains;
usingnamespaceclang::driver::tools;
usingnamespaceclang;
usingnamespacellvm::opt;
usingnamespaceclang::driver::tools::arm;
addMultilibFlag;
addPathIfExists;
static bool findOHOSMuslMultilibs(const Driver &D,
const Multilib::flags_list &Flags,
DetectedMultilibs &Result) { … }
static bool findOHOSMultilibs(const Driver &D,
const ToolChain &TC,
const llvm::Triple &TargetTriple,
StringRef Path, const ArgList &Args,
DetectedMultilibs &Result) { … }
std::string OHOS::getMultiarchTriple(const llvm::Triple &T) const { … }
std::string OHOS::getMultiarchTriple(const Driver &D,
const llvm::Triple &TargetTriple,
StringRef SysRoot) const { … }
static std::string makePath(const std::initializer_list<std::string> &IL) { … }
OHOS::OHOS(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
: … { … }
ToolChain::RuntimeLibType OHOS::GetRuntimeLibType(
const ArgList &Args) const { … }
ToolChain::CXXStdlibType
OHOS::GetCXXStdlibType(const ArgList &Args) const { … }
void OHOS::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
ArgStringList &CC1Args) const { … }
void OHOS::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
ArgStringList &CC1Args) const { … }
void OHOS::AddCXXStdlibLibArgs(const ArgList &Args,
ArgStringList &CmdArgs) const { … }
std::string OHOS::computeSysRoot() const { … }
ToolChain::path_list OHOS::getRuntimePaths() const { … }
std::string OHOS::getDynamicLinker(const ArgList &Args) const { … }
std::string OHOS::getCompilerRT(const ArgList &Args, StringRef Component,
FileType Type) const { … }
void OHOS::addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const { … }
SanitizerMask OHOS::getSupportedSanitizers() const { … }
void OHOS::addProfileRTLibs(const llvm::opt::ArgList &Args,
llvm::opt::ArgStringList &CmdArgs) const { … }
ToolChain::path_list OHOS::getArchSpecificLibPaths() const { … }
ToolChain::UnwindLibType OHOS::GetUnwindLibType(const llvm::opt::ArgList &Args) const { … }