-{-# OPTIONS -W -fno-warn-incomplete-patterns #-}
+{-# OPTIONS -fno-warn-incomplete-patterns #-}
-----------------------------------------------------------------------------
--- $Id: Main.hs,v 1.35 2000/11/24 17:09:52 simonmar Exp $
+-- $Id: Main.hs,v 1.41 2000/12/20 10:33:25 simonmar Exp $
--
-- GHC Driver program
--
-- No more "Enter your Haskell program, end with ^D (on a line of its own):"
-- consistency checking removed (may do this properly later)
-- removed -noC
--- no hi diffs (could be added later)
-- no -Ofile
-----------------------------------------------------------------------------
-- Main loop
main =
+ -- top-level exception handler: any unrecognised exception is a compiler bug.
+ handle (\exception -> do hPutStr stderr (show (Panic (show exception)))
+ exitWith (ExitFailure 1)
+ ) $ do
+
-- all error messages are propagated as exceptions
handleDyn (\dyn -> case dyn of
PhaseFailed _phase code -> exitWith code
Interrupted -> exitWith (ExitFailure 1)
- _ -> do hPutStrLn stderr (show (dyn :: BarfKind))
+ _ -> do hPutStrLn stderr (show (dyn :: GhcException))
exitWith (ExitFailure 1)
- ) $ do
+ ) $ do
-- make sure we clean up after ourselves
later (do forget_it <- readIORef v_Keep_tmp_files