Fix giving an error if we are given conflicting mode flags
authorIan Lynagh <igloo@earth.li>
Sat, 19 Jan 2008 21:26:02 +0000 (21:26 +0000)
committerIan Lynagh <igloo@earth.li>
Sat, 19 Jan 2008 21:26:02 +0000 (21:26 +0000)
compiler/main/Main.hs

index 7c77caf..dc03f64 100644 (file)
@@ -397,10 +397,10 @@ mode_flags =
 setMode :: CmdLineMode -> String -> ModeM ()
 setMode m flag = do
   (old_mode, old_flag, flags) <- getCmdLineState
-  when (notNull old_flag && flag /= old_flag) $
-      throwDyn (UsageError 
-          ("cannot use `" ++ old_flag ++ "' with `" ++ flag ++ "'"))
-  putCmdLineState (m, flag, flags)
+  if notNull old_flag && flag /= old_flag
+      then throwDyn (UsageError
+               ("cannot use `" ++ old_flag ++ "' with `" ++ flag ++ "'"))
+      else putCmdLineState (m, flag, flags)
 
 addFlag :: String -> ModeM ()
 addFlag s = do