fix warning when assertions disabled.
[oota-llvm.git] / tools / llvmc2 / Action.cpp
index 80531c0806a7f1f4cdb9ee062ec5d1901c1bf1c2..08416263a1bdc97c1cfd9dfcea67277aaa161cbf 100644 (file)
@@ -1,4 +1,4 @@
-//===--- Tools.h - The LLVM Compiler Driver ---------------------*- C++ -*-===//
+//===--- Action.cpp - The LLVM Compiler Driver ------------------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
 using namespace llvm;
 using namespace llvmc;
 
+extern cl::opt<bool> DryRun;
 extern cl::opt<bool> 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_);
 }