X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Futils%2FBinary.hs;h=378595796691acb7770fe00aa31073b7ed4bef52;hp=e633f35b3ae052c0ce4973c0511511811d43aa56;hb=18691d440f90a3dff4ef538091c886af505e5cf5;hpb=a2a67cd520b9841114d69a87a423dabcb3b4368e diff --git a/compiler/utils/Binary.hs b/compiler/utils/Binary.hs index e633f35..3785957 100644 --- a/compiler/utils/Binary.hs +++ b/compiler/utils/Binary.hs @@ -81,12 +81,7 @@ import System.IO.Error ( mkIOError, eofErrorType ) import GHC.Real ( Ratio(..) ) import GHC.Exts import GHC.Word ( Word8(..) ) - -#if __GLASGOW_HASKELL__ >= 611 import GHC.IO ( IO(..) ) -#else -import GHC.IOBase ( IO(..) ) -#endif type BinArray = ForeignPtr Word8 @@ -551,8 +546,8 @@ instance (Integral a, Binary a) => Binary (Ratio a) where #endif instance Binary (Bin a) where - put_ bh (BinPtr i) = put_ bh i - get bh = do i <- get bh; return (BinPtr i) + put_ bh (BinPtr i) = put_ bh (fromIntegral i :: Int32) + get bh = do i <- get bh; return (BinPtr (fromIntegral (i :: Int32))) -- ----------------------------------------------------------------------------- -- Instances for Data.Typeable stuff @@ -707,7 +702,7 @@ instance Binary FastString where get bh = do j <- get bh - return $! (ud_dict (getUserData bh) ! j) + return $! (ud_dict (getUserData bh) ! (fromIntegral (j :: Word32))) -- Here to avoid loop