Re-introduce the -q option and make opt always return 0, even if the
optimization pasess fail. This is necessary to avoid breaking feature
tests in the tests suite that depend on this behavior. *sigh*


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13832 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp
index e70b7b0..ace55d0 100644
--- a/tools/opt/opt.cpp
+++ b/tools/opt/opt.cpp
@@ -62,6 +62,9 @@
 static cl::opt<bool>
 Quiet("q", cl::desc("Don't print 'program modified' message"));
 
+static cl::alias
+QuietA("quiet", cl::desc("Alias for -q"), cl::aliasopt(Quiet));
+
 
 //===----------------------------------------------------------------------===//
 // main for opt
@@ -114,7 +117,8 @@
   // If the output is set to be emitted to standard out, and standard out is a
   // console, print out a warning message and refuse to do it.  We don't impress
   // anyone by spewing tons of binary goo to a terminal.
-  if (Out == &std::cout && isStandardOutAConsole() && !Force && !NoOutput) {
+  if (Out == &std::cout && isStandardOutAConsole() && !Force && !NoOutput 
+      && !Quiet) {
     std::cerr << "WARNING: It looks like you're attempting to print out a "
               << "bytecode file.  I'm\ngoing to pretend you didn't ask me to do"
               << " this (for your own good).  If you\nREALLY want to taste LLVM"
@@ -161,8 +165,8 @@
     Passes.add(new WriteBytecodePass(Out, Out != &std::cout));
 
   // Now that we have all of the passes ready, run them.
-  if (Passes.run(*M.get()))
+  if (Passes.run(*M.get()) )
     return 0;
 
-  return 1;
+  return 0;
 }