[project @ 2003-07-21 15:14:18 by ross]
[ghc-hetmet.git] / ghc / compiler / main / Main.hs
index 1fed643..7da0074 100644 (file)
@@ -1,7 +1,7 @@
 {-# OPTIONS -fno-warn-incomplete-patterns -optc-DNON_POSIX_SOURCE #-}
 
 -----------------------------------------------------------------------------
--- $Id: Main.hs,v 1.128 2003/06/27 18:28:33 sof Exp $
+-- $Id: Main.hs,v 1.131 2003/07/21 15:14:18 ross Exp $
 --
 -- GHC Driver program
 --
@@ -97,7 +97,7 @@ main =
           hFlush stdout
           case exception of
                -- an IO exception probably isn't our fault, so don't panic
-               IOException _ ->  hPutStr stderr (show exception)
+               IOException _ ->  hPutStrLn stderr (show exception)
                AsyncException StackOverflow ->
                        hPutStrLn stderr "stack overflow: use +RTS -K<size> \ 
                                         \to increase it"
@@ -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
 
@@ -318,7 +318,7 @@ compileFile mode stop_flag src = do
          | mode==DoLink || mode==DoMkDLL  = Nothing
          | otherwise                      = o_file
 
-   runPipeline mode stop_flag True maybe_o_file src
+   runPipeline mode stop_flag True maybe_o_file src Nothing{-no ModLocation-}
 
 
 -- ----------------------------------------------------------------------------