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;
}