22 OHOS(
const Driver &D,
const llvm::Triple &Triple,
23 const llvm::opt::ArgList &Args);
37 bool isPIEDefault(
const llvm::opt::ArgList &Args)
const override {
return true; }
39 UnwindLibType GetUnwindLibType(
const llvm::opt::ArgList &Args)
const override;
43 GetRuntimeLibType(
const llvm::opt::ArgList &Args)
const override;
45 GetCXXStdlibType(
const llvm::opt::ArgList &Args)
const override;
48 AddClangSystemIncludeArgs(
const llvm::opt::ArgList &DriverArgs,
49 llvm::opt::ArgStringList &CC1Args)
const override;
51 AddClangCXXStdlibIncludeArgs(
const llvm::opt::ArgList &DriverArgs,
52 llvm::opt::ArgStringList &CC1Args)
const override;
53 void AddCXXStdlibLibArgs(
const llvm::opt::ArgList &Args,
54 llvm::opt::ArgStringList &CmdArgs)
const override;
56 std::string computeSysRoot()
const override;
57 std::string getDynamicLinker(
const llvm::opt::ArgList &Args)
const override;
59 std::string getCompilerRT(
const llvm::opt::ArgList &Args, StringRef Component,
61 bool IsFortran =
false)
const override;
74 path_list getRuntimePaths()
const;
77 std::string getMultiarchTriple(
const llvm::Triple &
T)
const;
78 std::string getMultiarchTriple(
const Driver &D,
79 const llvm::Triple &TargetTriple,
80 StringRef SysRoot)
const override;
81 void addExtraOpts(llvm::opt::ArgStringList &CmdArgs)
const override;
83 void addProfileRTLibs(
const llvm::opt::ArgList &Args,
84 llvm::opt::ArgStringList &CmdArgs)
const override;
85 path_list getArchSpecificLibPaths()
const override;