From 560dbd79c766044453b782e1aee6024a9c78dd76 Mon Sep 17 00:00:00 2001 From: simonmar Date: Tue, 31 Jul 2001 13:10:01 +0000 Subject: [PATCH] [project @ 2001-07-31 13:10:01 by simonmar] merge ghc/lib/std/PrelStorable.lhs rev. 1.8 --- GHC/Storable.lhs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/GHC/Storable.lhs b/GHC/Storable.lhs index e340a8e..4868c6d 100644 --- a/GHC/Storable.lhs +++ b/GHC/Storable.lhs @@ -1,5 +1,5 @@ % ----------------------------------------------------------------------------- -% $Id: Storable.lhs,v 1.1 2001/06/28 14:15:03 simonmar Exp $ +% $Id: Storable.lhs,v 1.2 2001/07/31 13:10:01 simonmar Exp $ % % (c) The FFI task force, 2000 % @@ -224,16 +224,26 @@ readInt16OffPtr (Ptr a) (I# i) = IO $ \s -> case readInt16OffAddr# a i s of (# s2, x #) -> (# s2, I16# x #) readInt32OffPtr (Ptr a) (I# i) = IO $ \s -> case readInt32OffAddr# a i s of (# s2, x #) -> (# s2, I32# x #) +#if WORD_SIZE_IN_BYTES == 4 readInt64OffPtr (Ptr a) (I# i) = IO $ \s -> case readInt64OffAddr# a i s of (# s2, x #) -> (# s2, I64# x #) +#else +readInt64OffPtr (Ptr a) (I# i) + = IO $ \s -> case readIntOffAddr# a i s of (# s2, x #) -> (# s2, I64# x #) +#endif readWord8OffPtr (Ptr a) (I# i) = IO $ \s -> case readWord8OffAddr# a i s of (# s2, x #) -> (# s2, W8# x #) readWord16OffPtr (Ptr a) (I# i) = IO $ \s -> case readWord16OffAddr# a i s of (# s2, x #) -> (# s2, W16# x #) readWord32OffPtr (Ptr a) (I# i) = IO $ \s -> case readWord32OffAddr# a i s of (# s2, x #) -> (# s2, W32# x #) +#if WORD_SIZE_IN_BYTES == 4 readWord64OffPtr (Ptr a) (I# i) = IO $ \s -> case readWord64OffAddr# a i s of (# s2, x #) -> (# s2, W64# x #) +#else +readWord64OffPtr (Ptr a) (I# i) + = IO $ \s -> case readWordOffAddr# a i s of (# s2, x #) -> (# s2, W64# x #) +#endif writeWideCharOffPtr :: Ptr Char -> Int -> Char -> IO () writeIntOffPtr :: Ptr Int -> Int -> Int -> IO () @@ -274,16 +284,26 @@ writeInt16OffPtr (Ptr a) (I# i) (I16# x) = IO $ \s -> case writeInt16OffAddr# a i x s of s2 -> (# s2, () #) writeInt32OffPtr (Ptr a) (I# i) (I32# x) = IO $ \s -> case writeInt32OffAddr# a i x s of s2 -> (# s2, () #) +#if WORD_SIZE_IN_BYTES == 4 writeInt64OffPtr (Ptr a) (I# i) (I64# x) = IO $ \s -> case writeInt64OffAddr# a i x s of s2 -> (# s2, () #) +#else +writeInt64OffPtr (Ptr a) (I# i) (I64# x) + = IO $ \s -> case writeIntOffAddr# a i x s of s2 -> (# s2, () #) +#endif writeWord8OffPtr (Ptr a) (I# i) (W8# x) = IO $ \s -> case writeWord8OffAddr# a i x s of s2 -> (# s2, () #) writeWord16OffPtr (Ptr a) (I# i) (W16# x) = IO $ \s -> case writeWord16OffAddr# a i x s of s2 -> (# s2, () #) writeWord32OffPtr (Ptr a) (I# i) (W32# x) = IO $ \s -> case writeWord32OffAddr# a i x s of s2 -> (# s2, () #) +#if WORD_SIZE_IN_BYTES == 4 writeWord64OffPtr (Ptr a) (I# i) (W64# x) = IO $ \s -> case writeWord64OffAddr# a i x s of s2 -> (# s2, () #) +#else +writeWord64OffPtr (Ptr a) (I# i) (W64# x) + = IO $ \s -> case writeWordOffAddr# a i x s of s2 -> (# s2, () #) +#endif #endif /* __GLASGOW_HASKELL__ */ \end{code} -- 1.7.10.4