9#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_COMMONARGS_H
10#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_COMMONARGS_H
17#include "llvm/ADT/StringRef.h"
18#include "llvm/Option/Arg.h"
19#include "llvm/Option/ArgList.h"
20#include "llvm/Support/CodeGen.h"
30 const llvm::opt::ArgList &Args,
31 llvm::opt::ArgStringList &CmdArgs,
const JobAction &JA);
34 const llvm::opt::ArgList &Args,
35 llvm::opt::ArgStringList &CmdArgs);
40 llvm::opt::ArgStringList &CmdArgs);
43 llvm::opt::ArgStringList &CmdArgs);
46 llvm::opt::ArgStringList &CmdArgs);
49 llvm::opt::ArgStringList &CmdArgs);
52 llvm::opt::ArgStringList &CmdArgs,
53 const llvm::opt::ArgList &Args);
58 const llvm::opt::ArgList &DriverArgs,
59 llvm::opt::ArgStringList &CmdArgs,
60 StringRef Arch, StringRef
Target,
61 bool isBitCodeSDL,
bool postClangLink);
63 const llvm::opt::ArgList &DriverArgs,
64 llvm::opt::ArgStringList &CmdArgs,
65 StringRef Arch, StringRef
Target,
66 bool isBitCodeSDL,
bool postClangLink);
69 const llvm::opt::ArgList &DriverArgs,
70 llvm::opt::ArgStringList &CmdArgs, StringRef Arch,
71 StringRef
Target,
bool isBitCodeSDL,
75 llvm::opt::ArgStringList &CmdArgs,
77 StringRef Arch, StringRef
Target,
bool isBitCodeSDL,
82 const llvm::opt::ArgList &DriverArgs,
83 llvm::opt::ArgStringList &CC1Args,
85 StringRef Lib, StringRef Arch, StringRef
Target,
86 bool isBitCodeSDL,
bool postClangLink);
92 const JobAction &JA,
const llvm::opt::ArgList &Args,
93 const InputInfo &Output,
const char *OutFile);
96 llvm::opt::ArgStringList &CmdArgs,
const InputInfo &Output,
101std::tuple<llvm::Reloc::Model, unsigned, bool>
105 const llvm::opt::ArgList &Args);
117 const llvm::opt::ArgList &Args,
118 llvm::opt::ArgStringList &CmdArgs);
121 llvm::opt::ArgStringList &CmdArgs);
123 const llvm::opt::ArgList &Args,
124 llvm::opt::ArgStringList &CmdArgs);
127 const llvm::opt::ArgList &Args,
128 bool ForceStaticHostRuntime =
false,
129 bool IsOffloadingHost =
false,
bool GompNeedsRT =
false);
133 llvm::opt::ArgStringList &CmdArgs);
137 const llvm::opt::ArgList &Args,
138 llvm::opt::ArgStringList &CmdArgs);
141 llvm::opt::ArgStringList &CmdArgs);
163 llvm::opt::ArgStringList &CmdArgs,
const char *ArgName,
167 std::vector<StringRef> &Features,
168 llvm::opt::OptSpecifier OnOpt,
169 llvm::opt::OptSpecifier OffOpt, StringRef FeatureName);
172 const llvm::Triple &T,
bool FromAs =
false);
175 const llvm::opt::ArgList &Args,
176 llvm::opt::ArgStringList &CmdArgs,
bool ForAS,
186 std::vector<StringRef> &Features,
187 llvm::opt::OptSpecifier Group);
204 llvm::opt::ArgStringList &CmdArgs,
bool IsLTO,
205 const StringRef PluginOptPrefix =
"");
208 const llvm::opt::ArgList &Args);
211 const llvm::opt::ArgList &Args);
214 const llvm::opt::ArgList &Args);
217 llvm::opt::ArgStringList &CmdArgs,
218 const llvm::Triple &Triple,
bool IsLTO,
219 const StringRef PluginOptPrefix =
"");
222 llvm::opt::ArgStringList &CC1Args,
223 StringRef BitcodeSuffix,
const llvm::Triple &Triple);
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...
std::vector< std::string > flags_list
@ C
Languages that the frontend can parse and compile.