{-# OPTIONS -fno-warn-incomplete-patterns -optc-DNON_POSIX_SOURCE #-}
-----------------------------------------------------------------------------
--- $Id: Main.hs,v 1.95 2002/03/04 14:40:54 simonmar Exp $
+-- $Id: Main.hs,v 1.99 2002/03/12 16:45:59 simonmar Exp $
--
-- GHC Driver program
--
import IO
import Directory ( doesFileExist )
import IOExts ( readIORef, writeIORef )
-import Exception ( throwDyn, Exception(..) )
+import Exception ( throwDyn, Exception(..),
+ AsyncException(StackOverflow) )
import System ( getArgs, exitWith, ExitCode(..) )
import Monad
import List
case exception of
-- an IO exception probably isn't our fault, so don't panic
IOException _ -> hPutStr stderr (show exception)
- _other -> hPutStr stderr (show (Panic (show exception)))
+ AsyncException StackOverflow ->
+ hPutStrLn stderr "stack overflow: use +RTS -K<size> \
+ \to increase it"
+ _other -> hPutStr stderr (show (Panic (show exception)))
exitWith (ExitFailure 1)
) $ do
dyn_flags <- getDynFlags
let lang = case mode of
DoInteractive -> HscInterpreted
- _other -> hscLang dyn_flags
+ _other -> defaultHscLang
setDynFlags (dyn_flags{ coreToDo = core_todo,
stgToDo = stg_todo,