From d26eaafa9ef79bcc997536e92cf617bc73378d67 Mon Sep 17 00:00:00 2001
From: Ian Lynagh <igloo@earth.li>
Date: Sat, 18 Dec 2010 21:36:22 +0000
Subject: [PATCH] Replace uses of the old catch function with the new one

---
 Trace/Hpc/Mix.hs  |  4 ++--
 Trace/Hpc/Tix.hs  | 12 ++++++------
 Trace/Hpc/Util.hs |  6 ++++++
 3 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/Trace/Hpc/Mix.hs b/Trace/Hpc/Mix.hs
index b36c2ac..efcc559 100644
--- a/Trace/Hpc/Mix.hs
+++ b/Trace/Hpc/Mix.hs
@@ -28,7 +28,7 @@ import Data.Char
 -- been introduced in that module, accessed by tick-number position
 -- in the list
 
-import Trace.Hpc.Util (HpcPos, insideHpcPos, Hash, HpcHash(..))
+import Trace.Hpc.Util (HpcPos, insideHpcPos, Hash, HpcHash(..), catchIO)
 import Trace.Hpc.Tix
 
 -- | 'Mix' is the information about a modules static properties, like
@@ -98,7 +98,7 @@ readMix dirNames mod' = do
                                      Left  _   -> True
                                      Right tix -> h == tixModuleHash tix
                                   ) -> return $ Just r
-                           _ -> return $ Nothing) `catch` (\ _ -> return $ Nothing)
+                           _ -> return $ Nothing) `catchIO` (\ _ -> return $ Nothing)
                    | dirName <- dirNames
                    ]
    case catMaybes res of
diff --git a/Trace/Hpc/Tix.hs b/Trace/Hpc/Tix.hs
index 4e49588..5752c96 100644
--- a/Trace/Hpc/Tix.hs
+++ b/Trace/Hpc/Tix.hs
@@ -9,7 +9,7 @@ module Trace.Hpc.Tix(Tix(..), TixModule(..),
 		     readTix, writeTix, getTixFileName) where
 
 import Data.List (isSuffixOf)
-import Trace.Hpc.Util(Hash)
+import Trace.Hpc.Util (Hash, catchIO)
 
 -- 'Tix ' is the storage format for our dynamic imformation about what
 -- boxes are ticked.
@@ -34,11 +34,11 @@ tixModuleTixs (TixModule  _ _ _ tixs) = tixs
 
 -- read a Tix File.
 readTix :: String
-	-> IO (Maybe Tix)
-readTix tix_filename = 
-  catch (do contents <- readFile $ tix_filename
-	    return $ Just $ read contents)
-	(\ _ -> return $ Nothing)
+        -> IO (Maybe Tix)
+readTix tix_filename =
+  catchIO (do contents <- readFile $ tix_filename
+              return $ Just $ read contents)
+          (\ _ -> return $ Nothing)
 
 -- write a Tix File.
 writeTix :: String 
diff --git a/Trace/Hpc/Util.hs b/Trace/Hpc/Util.hs
index 47a9ca0..371a9ef 100644
--- a/Trace/Hpc/Util.hs
+++ b/Trace/Hpc/Util.hs
@@ -11,8 +11,10 @@ module Trace.Hpc.Util
        , insideHpcPos
        , HpcHash(..)
        , Hash
+       , catchIO
        ) where
 
+import qualified Control.Exception as Exception
 import Data.List(foldl')
 import Data.Char (ord)
 import Data.Bits (xor)
@@ -103,3 +105,7 @@ instance HpcHash HpcPos where
 
 hxor :: Hash -> Hash -> Hash
 hxor (Hash x) (Hash y) = Hash $ x `xor` y
+
+catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
+catchIO = Exception.catch
+
-- 
GitLab