From: Tobias Grosser Date: Thu, 2 Dec 2010 20:35:16 +0000 (+0000) Subject: Move check of command line options after command line parsing. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=7593f34d67f1f88bd09960dd92041d89de85a873;p=oota-llvm.git Move check of command line options after command line parsing. The check to not allow -analyze and -disable-output at the same time was done before parsing the command line flags. Therefore it never triggered, and in case both options where used opt segfaulted. Fix this by moving this check a after command line parsing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120732 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 269b936c248..2b6109f2bc1 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -418,11 +418,6 @@ int main(int argc, char **argv) { sys::PrintStackTraceOnErrorSignal(); llvm::PrettyStackTraceProgram X(argc, argv); - if (AnalyzeOnly && NoOutput) { - errs() << argv[0] << ": analyze mode conflicts with no-output mode.\n"; - return 1; - } - // Enable debug stream buffering. EnableDebugBuffering = true; @@ -444,6 +439,11 @@ int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, "llvm .bc -> .bc modular optimizer and analysis printer\n"); + if (AnalyzeOnly && NoOutput) { + errs() << argv[0] << ": analyze mode conflicts with no-output mode.\n"; + return 1; + } + // Allocate a full target machine description only if necessary. // FIXME: The choice of target should be controllable on the command line. std::auto_ptr target;