9#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_BAREMETAL_H
10#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_BAREMETAL_H
26 const llvm::opt::ArgList &Args);
32 const llvm::opt::ArgList &Args);
40 const llvm::opt::ArgList &Args);
59 CXXStdlibType GetDefaultCXXStdlibType()
const override;
61 RuntimeLibType GetDefaultRuntimeLibType()
const override;
63 UnwindLibType GetUnwindLibType(
const llvm::opt::ArgList &Args)
const override;
66 AddClangSystemIncludeArgs(
const llvm::opt::ArgList &DriverArgs,
67 llvm::opt::ArgStringList &CC1Args)
const override;
69 addClangTargetOptions(
const llvm::opt::ArgList &DriverArgs,
70 llvm::opt::ArgStringList &CC1Args,
72 void AddClangCXXStdlibIncludeArgs(
73 const llvm::opt::ArgList &DriverArgs,
74 llvm::opt::ArgStringList &CC1Args)
const override;
76 addLibStdCxxIncludePaths(
const llvm::opt::ArgList &DriverArgs,
77 llvm::opt::ArgStringList &CC1Args)
const override;
78 std::string computeSysRoot()
const override;
79 std::string getCompilerRTPath()
const override;
83 getMultilibMacroDefinesStr(llvm::opt::ArgList &Args)
const override;
86 using OrderedMultilibs =
87 llvm::iterator_range<llvm::SmallVector<Multilib>::const_reverse_iterator>;
88 OrderedMultilibs getOrderedMultilibs()
const;
92 bool IsGCCInstallationValid;
105 :
Tool(
"baremetal::StaticLibTool",
"llvm-ar", TC) {}
112 const llvm::opt::ArgList &TCArgs,
113 const char *LinkingOutput)
const override;
123 const llvm::opt::ArgList &TCArgs,
124 const char *LinkingOutput)
const override;
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...
SmallVector< InputInfo, 4 > InputInfoList
The JSON file list parser is used to communicate input to InstallAPI.