diff --git a/tools/llvmc2/Action.cpp b/tools/llvmc2/Action.cpp index 183dd813b41..08416263a1b 100644 --- a/tools/llvmc2/Action.cpp +++ b/tools/llvmc2/Action.cpp @@ -22,6 +22,7 @@ using namespace llvm; using namespace llvmc; +extern cl::opt DryRun; extern cl::opt VerboseMode; namespace { @@ -65,10 +66,13 @@ namespace { } int llvmc::Action::Execute() const { - if (VerboseMode) { + if (DryRun || VerboseMode) { std::cerr << Command_ << " "; std::for_each(Args_.begin(), Args_.end(), print_string); std::cerr << '\n'; } - return ExecuteProgram(Command_, Args_); + if (DryRun) + return 0; + else + return ExecuteProgram(Command_, Args_); } diff --git a/tools/llvmc2/llvmc.cpp b/tools/llvmc2/llvmc.cpp index e093439d4ff..9a2b27f9cbc 100644 --- a/tools/llvmc2/llvmc.cpp +++ b/tools/llvmc2/llvmc.cpp @@ -41,6 +41,8 @@ cl::opt OutputFilename("o", cl::desc("Output file name"), cl::list Languages("x", cl::desc("Specify the language of the following input files"), cl::ZeroOrMore); +cl::opt DryRun("dry-run", + cl::desc("only pretend to run commands")); cl::opt VerboseMode("v", cl::desc("Enable verbose mode")); cl::opt WriteGraph("write-graph",