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 const llvm::opt::ArgList &Args,
44 llvm::opt::ArgStringList &CmdArgs);
47 llvm::opt::ArgStringList &CmdArgs);
50 llvm::opt::ArgStringList &CmdArgs);
53 llvm::opt::ArgStringList &CmdArgs,
54 const llvm::opt::ArgList &Args);
59 const llvm::opt::ArgList &DriverArgs,
60 llvm::opt::ArgStringList &CmdArgs,
61 StringRef Arch, StringRef
Target,
62 bool isBitCodeSDL,
bool postClangLink);
65 const llvm::opt::ArgList &DriverArgs,
66 llvm::opt::ArgStringList &CmdArgs, StringRef Arch,
67 StringRef
Target,
bool isBitCodeSDL,
71 llvm::opt::ArgStringList &CmdArgs,
73 StringRef Arch, StringRef
Target,
bool isBitCodeSDL,
78 const llvm::opt::ArgList &DriverArgs,
79 llvm::opt::ArgStringList &CC1Args,
81 StringRef Lib, StringRef Arch, StringRef
Target,
82 bool isBitCodeSDL,
bool postClangLink);
88 const JobAction &JA,
const llvm::opt::ArgList &Args,
89 const InputInfo &Output,
const char *OutFile);
92 llvm::opt::ArgStringList &CmdArgs,
const InputInfo &Output,
97std::tuple<llvm::Reloc::Model, unsigned, bool>
101 const llvm::opt::ArgList &Args);
104 llvm::codegenoptions::DebugInfoKind DebugInfoKind);
106llvm::codegenoptions::DebugInfoKind
119 const llvm::opt::ArgList &Args,
120 llvm::opt::ArgStringList &CmdArgs);
123 llvm::opt::ArgStringList &CmdArgs);
125 const llvm::opt::ArgList &Args,
126 llvm::opt::ArgStringList &CmdArgs);
129 const llvm::opt::ArgList &Args,
130 bool ForceStaticHostRuntime =
false,
131 bool IsOffloadingHost =
false,
bool GompNeedsRT =
false);
135 llvm::opt::ArgStringList &CmdArgs);
139 const llvm::opt::ArgList &Args,
140 llvm::opt::ArgStringList &CmdArgs);
143 const llvm::opt::ArgList &Args,
144 llvm::opt::ArgStringList &CmdArgs);
147 llvm::opt::ArgStringList &CmdArgs,
bool as_needed);
168 llvm::opt::ArgStringList &CmdArgs,
const char *ArgName,
172 std::vector<StringRef> &Features,
173 llvm::opt::OptSpecifier OnOpt,
174 llvm::opt::OptSpecifier OffOpt, StringRef FeatureName);
177 const llvm::Triple &T,
bool FromAs =
false);
180 const llvm::opt::ArgList &Args,
181 llvm::opt::ArgStringList &CmdArgs,
bool ForAS,
191 const llvm::opt::ArgList &Args,
192 std::vector<StringRef> &Features,
193 llvm::opt::OptSpecifier Group);
209 llvm::opt::ArgStringList &CmdArgs,
bool IsLTO,
210 const StringRef PluginOptPrefix =
"");
213 const llvm::opt::ArgList &Args);
216 const llvm::opt::ArgList &Args);
219 const llvm::opt::ArgList &Args);
222 llvm::opt::ArgStringList &CmdArgs,
223 const llvm::Triple &Triple,
bool IsLTO,
224 const StringRef PluginOptPrefix =
"");
227 llvm::opt::ArgStringList &CC1Args,
228 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.