12 #include "llvm/Support/Path.h" 20 const llvm::opt::ArgList &Args,
21 const char *LinkingOutput)
const {
23 llvm::opt::ArgStringList CmdArgs;
24 CmdArgs.push_back(
"-action");
25 const bool WriteBin = !Args.getLastArg(options::OPT_emit_merged_ifs);
26 CmdArgs.push_back(WriteBin ?
"write-bin" :
"write-ifs");
27 CmdArgs.push_back(
"-o");
36 if (OutputFilename !=
"-") {
37 if (Args.hasArg(options::OPT_shared))
38 llvm::sys::path::replace_extension(OutputFilename,
39 (WriteBin ?
"ifso" :
"ifs"));
41 OutputFilename += (WriteBin ?
".ifso" :
".ifs");
44 CmdArgs.push_back(Args.MakeArgString(OutputFilename.c_str()));
48 for (
const auto &Input : Inputs) {
49 if (!Input.isFilename())
52 if (Input.getType() == types::TY_Object)
53 llvm::sys::path::replace_extension(InputFilename,
".ifs");
54 CmdArgs.push_back(Args.MakeArgString(InputFilename.c_str()));
58 Args.MakeArgString(
Merger), CmdArgs,
Dataflow Directional Tag Classes.
Compilation - A set of tasks to perform for a single driver invocation.
static constexpr ResponseFileSupport None()
Returns a ResponseFileSupport indicating that response files are not supported.