Skip to content
Snippets Groups Projects
Commit 6c5e6fc7 authored by Ryan Scott's avatar Ryan Scott Committed by Ryan Scott
Browse files

Patch word-compat to adapt to Word64# changes in 9.4

parent b63ccd8d
No related branches found
No related tags found
No related merge requests found
diff --git a/src/GHC/Prim/Compat.hs b/src/GHC/Prim/Compat.hs
index ba14473..bb6cff0 100644
--- a/src/GHC/Prim/Compat.hs
+++ b/src/GHC/Prim/Compat.hs
@@ -28,6 +28,9 @@ import GHC.Prim (
writeWord8OffAddr#,writeWord16OffAddr#,writeWord32OffAddr#,writeWord64OffAddr#)
#endif
+#if MIN_VERSION_ghc_prim(0,9,0)
+import GHC.Prim (Word64#)
+#endif
#if MIN_VERSION_ghc_prim(0,8,0)
@@ -43,7 +46,11 @@ indexWord32Array# :: ByteArray# -> Int# -> Word#
indexWord32Array# arr i = word32ToWord# (Prim.indexWord32Array# arr i)
{-# INLINE indexWord32Array# #-}
+#if MIN_VERSION_ghc_prim(0,9,0)
+indexWord64Array# :: ByteArray# -> Int# -> Word64#
+#else
indexWord64Array# :: ByteArray# -> Int# -> Word#
+#endif
indexWord64Array# = Prim.indexWord64Array#
{-# INLINE indexWord64Array# #-}
@@ -65,7 +72,11 @@ readWord32Array# arr ix st =
in (# st', word32ToWord# v #)
{-# INLINE readWord32Array# #-}
+#if MIN_VERSION_ghc_prim(0,9,0)
+readWord64Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word64# #)
+#else
readWord64Array# :: MutableByteArray# d -> Int# -> State# d -> (# State# d, Word# #)
+#endif
readWord64Array# = Prim.readWord64Array#
{-# INLINE readWord64Array# #-}
@@ -81,7 +92,11 @@ writeWord32Array# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State#
writeWord32Array# arr ix v st = Prim.writeWord32Array# arr ix (wordToWord32# v) st
{-# INLINE writeWord32Array# #-}
+#if MIN_VERSION_ghc_prim(0,9,0)
+writeWord64Array# :: MutableByteArray# d -> Int# -> Word64# -> State# d -> State# d
+#else
writeWord64Array# :: MutableByteArray# d -> Int# -> Word# -> State# d -> State# d
+#endif
writeWord64Array# = Prim.writeWord64Array#
{-# INLINE writeWord64Array# #-}
@@ -97,7 +112,11 @@ indexWord32OffAddr# :: Addr# -> Int# -> Word#
indexWord32OffAddr# addr off = word32ToWord# (Prim.indexWord32OffAddr# addr off)
{-# INLINE indexWord32OffAddr# #-}
+#if MIN_VERSION_ghc_prim(0,9,0)
+indexWord64OffAddr# :: Addr# -> Int# -> Word64#
+#else
indexWord64OffAddr# :: Addr# -> Int# -> Word#
+#endif
indexWord64OffAddr# addr off = Prim.indexWord64OffAddr# addr off
{-# INLINE indexWord64OffAddr# #-}
@@ -119,7 +138,11 @@ readWord32OffAddr# addr off st =
in (# st', word32ToWord# v #)
{-# INLINE readWord32OffAddr# #-}
+#if MIN_VERSION_ghc_prim(0,9,0)
+readWord64OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word64# #)
+#else
readWord64OffAddr# :: Addr# -> Int# -> State# d -> (# State# d, Word# #)
+#endif
readWord64OffAddr# = Prim.readWord64OffAddr#
{-# INLINE readWord64OffAddr# #-}
@@ -138,7 +161,11 @@ writeWord32OffAddr# addr off v st =
Prim.writeWord32OffAddr# addr off (wordToWord32# v) st
{-# INLINE writeWord32OffAddr# #-}
+#if MIN_VERSION_ghc_prim(0,9,0)
+writeWord64OffAddr# :: Addr# -> Int# -> Word64# -> State# d -> State# d
+#else
writeWord64OffAddr# :: Addr# -> Int# -> Word# -> State# d -> State# d
+#endif
writeWord64OffAddr# = Prim.writeWord64OffAddr#
{-# INLINE writeWord64OffAddr# #-}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment