X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcoreSyn%2FMkExternalCore.lhs;h=cb784e8ab4de4f8aa01e5cf87029d8d1dc777662;hb=9fb9395beebc5c6f85571991af7fd55b4db86977;hp=9b9ca5e7c90bf90b80958de13f91a407f4fd13d0;hpb=d2ce0f52d42edf32bb9f13796e6ba6edba8bd516;p=ghc-hetmet.git diff --git a/compiler/coreSyn/MkExternalCore.lhs b/compiler/coreSyn/MkExternalCore.lhs index 9b9ca5e..cb784e8 100644 --- a/compiler/coreSyn/MkExternalCore.lhs +++ b/compiler/coreSyn/MkExternalCore.lhs @@ -27,6 +27,7 @@ import Encoding import ForeignCall import DynFlags import FastString +import Exception import Data.Char import System.IO @@ -35,10 +36,10 @@ emitExternalCore :: DynFlags -> CgGuts -> IO () emitExternalCore dflags cg_guts | dopt Opt_EmitExternalCore dflags = (do handle <- openFile corename WriteMode - hPutStrLn handle (show (mkExternalCore cg_guts)) + hPutStrLn handle (show (mkExternalCore cg_guts)) hClose handle) - `catch` (\_ -> pprPanic "Failed to open or write external core output file" - (text corename)) + `catchIO` (\_ -> pprPanic "Failed to open or write external core output file" + (text corename)) where corename = extCoreName dflags emitExternalCore _ _ | otherwise