From 3a223cd2811d46295048b3a2dab11403ca291b20 Mon Sep 17 00:00:00 2001 From: ross Date: Mon, 21 Jul 2003 15:14:18 +0000 Subject: [PATCH] [project @ 2003-07-21 15:14:18 by ross] Check for unknown flags before (rather than after) checking -o and -ohi flags, avoiding confusing behaviour like % ghc -bad-option -c x.hs ghc-6.0: unrecognised flags: -bad-option % ghc -bad-option -c x.hs -ohi x.hi ghc-6.0: -ohi can only be used when compiling a single source file Usage: For basic information, try the `--help' option. % ghc -bad-option -c x.hs -o x.o ghc-6.0: can't apply -o to multiple source files Usage: For basic information, try the `--help' option. (looks better with scores of flags) please merge to STABLE --- ghc/compiler/main/Main.hs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ghc/compiler/main/Main.hs b/ghc/compiler/main/Main.hs index f9f64cb..7da0074 100644 --- a/ghc/compiler/main/Main.hs +++ b/ghc/compiler/main/Main.hs @@ -1,7 +1,7 @@ {-# OPTIONS -fno-warn-incomplete-patterns -optc-DNON_POSIX_SOURCE #-} ----------------------------------------------------------------------------- --- $Id: Main.hs,v 1.130 2003/07/17 12:04:53 simonmar Exp $ +-- $Id: Main.hs,v 1.131 2003/07/21 15:14:18 ross Exp $ -- -- GHC Driver program -- @@ -266,6 +266,10 @@ main = checkOptions :: GhcMode -> [String] -> [String] -> IO () -- Final sanity checking before kicking off a compilation (pipeline). checkOptions mode srcs objs = do + -- Complain about any unknown flags + let unknown_opts = [ f | f@('-':_) <- srcs ] + when (notNull unknown_opts) (unknownFlagsErr unknown_opts) + -- -ohi sanity check ohi <- readIORef v_Output_hi if (isJust ohi && @@ -285,10 +289,6 @@ checkOptions mode srcs objs = do then throwDyn (UsageError "no input files") else do - -- Complain about any unknown flags - let unknown_opts = [ f | f@('-':_) <- srcs ] - when (notNull unknown_opts) (unknownFlagsErr unknown_opts) - -- Verify that output files point somewhere sensible. verifyOutputFiles -- 1.7.10.4