X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Futils%2FBinary.hs;h=249480afeeada0643aa44095b7adfaeeb7ae4b99;hb=f4b727487a65e6b611bbaafbd2207bd63a8df706;hp=a74d42043ce7a03996e8385994eb070a094d22c1;hpb=5d92b931e7278d214e585adce03014bfbd54c16f;p=ghc-hetmet.git diff --git a/compiler/utils/Binary.hs b/compiler/utils/Binary.hs index a74d420..249480a 100644 --- a/compiler/utils/Binary.hs +++ b/compiler/utils/Binary.hs @@ -59,7 +59,7 @@ module Binary #include "HsVersions.h" -- The *host* architecture version: -#include "MachDeps.h" +#include "../includes/MachDeps.h" import {-# SOURCE #-} Name (Name) import FastString @@ -398,19 +398,10 @@ instance Binary Char where get bh = do x <- get bh; return $! (chr (fromIntegral (x :: Word32))) instance Binary Int where -#if SIZEOF_HSINT == 4 - put_ bh i = put_ bh (fromIntegral i :: Int32) - get bh = do - x <- get bh - return $! (fromIntegral (x :: Int32)) -#elif SIZEOF_HSINT == 8 put_ bh i = put_ bh (fromIntegral i :: Int64) get bh = do x <- get bh return $! (fromIntegral (x :: Int64)) -#else -#error "unsupported sizeof(HsInt)" -#endif instance Binary a => Binary [a] where put_ bh l = do @@ -560,8 +551,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 @@ -716,7 +707,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