Always serialise Int as 64bit values; fixes trac #3041
authorIan Lynagh <igloo@earth.li>
Fri, 17 Jul 2009 22:42:03 +0000 (22:42 +0000)
committerIan Lynagh <igloo@earth.li>
Fri, 17 Jul 2009 22:42:03 +0000 (22:42 +0000)
This means that, provided the values are small enough, files
serialized are portable between architectures. In particular,
.haddock files are portable.

compiler/utils/Binary.hs

index a74d420..6cd045a 100644 (file)
@@ -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