diff options
| author | Andreas Källberg <anka.213@gmail.com> | 2022-10-04 16:46:36 +0200 |
|---|---|---|
| committer | Andreas Källberg <anka.213@gmail.com> | 2022-10-04 17:01:23 +0200 |
| commit | 03df25bb7ac2f57a5382cda44dbaef8170543758 (patch) | |
| tree | 9f8852328716bf329e172d9f8192017b35e875d7 /src/runtime/haskell/Data/Binary/Builder.hs | |
| parent | 3122590e351f769ca6e60dfd4eeaafba1c5c22e8 (diff) | |
Add support for ghc-9.2.4
Diffstat (limited to 'src/runtime/haskell/Data/Binary/Builder.hs')
| -rw-r--r-- | src/runtime/haskell/Data/Binary/Builder.hs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/runtime/haskell/Data/Binary/Builder.hs b/src/runtime/haskell/Data/Binary/Builder.hs index a74428f20..5f8983c0c 100644 --- a/src/runtime/haskell/Data/Binary/Builder.hs +++ b/src/runtime/haskell/Data/Binary/Builder.hs @@ -77,6 +77,9 @@ import qualified Data.ByteString.Internal as S import GHC.Base(Int(..),uncheckedShiftRL# ) import GHC.Word (Word32(..),Word16(..),Word64(..)) +#if MIN_VERSION_base(4,16,0) +import GHC.Exts (wordToWord16#, word16ToWord#, wordToWord32#, word32ToWord#) +#endif #if WORD_SIZE_IN_BITS < 64 && __GLASGOW_HASKELL__ >= 608 import GHC.Word (uncheckedShiftRL64#) #endif @@ -411,8 +414,14 @@ shiftr_w32 :: Word32 -> Int -> Word32 shiftr_w64 :: Word64 -> Int -> Word64 #if defined(__GLASGOW_HASKELL__) && !defined(__HADDOCK__) +#if MIN_VERSION_base(4,16,0) +shiftr_w16 (W16# w) (I# i) = W16# (wordToWord16# ((word16ToWord# w) `uncheckedShiftRL#` i)) +shiftr_w32 (W32# w) (I# i) = W32# (wordToWord32# ((word32ToWord# w) `uncheckedShiftRL#` i)) +#else shiftr_w16 (W16# w) (I# i) = W16# (w `uncheckedShiftRL#` i) shiftr_w32 (W32# w) (I# i) = W32# (w `uncheckedShiftRL#` i) +#endif + #if WORD_SIZE_IN_BITS < 64 shiftr_w64 (W64# w) (I# i) = W64# (w `uncheckedShiftRL64#` i) |
