X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=tools%2Fllvmc2%2FAction.cpp;h=08416263a1bdc97c1cfd9dfcea67277aaa161cbf;hb=9d2c9bd11377ecac24e5c7c6198153375ac72562;hp=80531c0806a7f1f4cdb9ee062ec5d1901c1bf1c2;hpb=87416b4cea4748a5d2c40c15b58e1a4a3310cd9f;p=oota-llvm.git diff --git a/tools/llvmc2/Action.cpp b/tools/llvmc2/Action.cpp index 80531c0806a..08416263a1b 100644 --- a/tools/llvmc2/Action.cpp +++ b/tools/llvmc2/Action.cpp @@ -1,4 +1,4 @@ -//===--- Tools.h - The LLVM Compiler Driver ---------------------*- C++ -*-===// +//===--- Action.cpp - The LLVM Compiler Driver ------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // @@ -22,11 +22,12 @@ using namespace llvm; using namespace llvmc; +extern cl::opt DryRun; extern cl::opt VerboseMode; namespace { int ExecuteProgram(const std::string& name, - const StringVector& args) { + const StrVector& args) { sys::Path prog = sys::Program::FindProgramByName(name); if (prog.isEmpty()) @@ -42,7 +43,7 @@ namespace { argv.reserve((args.size()+2)); argv.push_back(name.c_str()); - for (StringVector::const_iterator B = args.begin(), E = args.end(); + for (StrVector::const_iterator B = args.begin(), E = args.end(); B!=E; ++B) { if (*B == ">") { ++B; @@ -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_); }