projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix initialisation of strictness in the demand analyser
[ghc-hetmet.git]
/
compiler
/
utils
/
Binary.hs
diff --git
a/compiler/utils/Binary.hs
b/compiler/utils/Binary.hs
index
a74d420
..
249480a
100644
(file)
--- a/
compiler/utils/Binary.hs
+++ b/
compiler/utils/Binary.hs
@@
-59,7
+59,7
@@
module Binary
#include "HsVersions.h"
-- The *host* architecture version:
#include "HsVersions.h"
-- The *host* architecture version:
-#include "MachDeps.h"
+#include "../includes/MachDeps.h"
import {-# SOURCE #-} Name (Name)
import FastString
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
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))
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
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
#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
-- -----------------------------------------------------------------------------
-- Instances for Data.Typeable stuff
@@
-716,7
+707,7
@@
instance Binary FastString where
get bh = do
j <- get bh
get bh = do
j <- get bh
- return $! (ud_dict (getUserData bh) ! j)
+ return $! (ud_dict (getUserData bh) ! (fromIntegral (j :: Word32)))
-- Here to avoid loop
-- Here to avoid loop