def _SLASH_showIncludes : CLFlag<"showIncludes">,
HelpText<"Print info about included files to stderr">,
Alias<show_includes>;
-def _SLASH_showFilenames : CLFlag<"showFilenames">,
- HelpText<"Print the name of each compiled file">;
-def _SLASH_showFilenames_ : CLFlag<"showFilenames-">,
- HelpText<"Don't print the name of each compiled file (default)">;
def _SLASH_source_charset : CLCompileJoined<"source-charset:">,
HelpText<"Source encoding, supports only UTF-8">, Alias<finput_charset_EQ>;
def _SLASH_execution_charset : CLCompileJoined<"execution-charset:">,
/// The list of program arguments which are inputs.
llvm::opt::ArgStringList InputFilenames;
- /// Whether to print the input filenames when executing.
- bool PrintInputFilenames = false;
-
/// Response file name, if this command is set to use one, or nullptr
/// otherwise
const char *ResponseFile = nullptr;
/// Print a command argument, and optionally quote it.
static void printArg(llvm::raw_ostream &OS, StringRef Arg, bool Quote);
-
- /// Set whether to print the input filenames when executing.
- void setPrintInputFilenames(bool P) { PrintInputFilenames = P; }
};
/// Like Command, but with a fallback which is executed in case
int Command::Execute(ArrayRef<llvm::Optional<StringRef>> Redirects,
std::string *ErrMsg, bool *ExecutionFailed) const {
- if (PrintInputFilenames) {
- for (const char *Arg : InputFilenames)
- llvm::outs() << llvm::sys::path::filename(Arg) << "\n";
- llvm::outs().flush();
- }
-
SmallVector<const char*, 128> Argv;
Optional<ArrayRef<StringRef>> Env;
C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs));
}
- // Make the compile command echo its inputs for /showFilenames.
- if (Output.getType() == types::TY_Object &&
- Args.hasFlag(options::OPT__SLASH_showFilenames,
- options::OPT__SLASH_showFilenames_, false)) {
- C.getJobs().getJobs().back()->setPrintInputFilenames(true);
- }
-
if (Arg *A = Args.getLastArg(options::OPT_pg))
if (!shouldUseFramePointer(Args, Triple))
D.Diag(diag::err_drv_argument_not_allowed_with) << "-fomit-frame-pointer"
+++ /dev/null
-// RUN: %clang_cl /c /o %t.obj /showFilenames -- %s 2>&1 | FileCheck -check-prefix=show %s
-// RUN: %clang_cl /c /o %t.obj /showFilenames -- %s %S/Inputs/wildcard*.c 2>&1 | FileCheck -check-prefix=multiple %s
-
-// RUN: %clang_cl /c /o %t.obj -- %s 2>&1 | FileCheck -check-prefix=noshow %s
-// RUN: %clang_cl /c /o %t.obj /showFilenames /showFilenames- -- %s 2>&1 | FileCheck -check-prefix=noshow %s
-
-
-#pragma message "Hello"
-
-// show: cl-showfilenames.c
-// show-NEXT: warning: Hello
-
-// multiple: cl-showfilenames.c
-// multiple-NEXT: warning: Hello
-// multiple: wildcard1.c
-// multiple-NEXT: wildcard2.c
-
-// noshow: warning: Hello
-// noshow-NOT: cl-showfilenames.c