cborg 0.2.6.0 → 0.2.7.0
raw patch · 3 files changed
+43/−36 lines, 3 filesdep ~ghc-primdep ~textnew-uploaderPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: ghc-prim, text
API changes (from Hackage documentation)
Files
- ChangeLog.md +0/−14
- cborg.cabal +5/−4
- src/Codec/CBOR/Magic.hs +38/−18
ChangeLog.md view
@@ -1,19 +1,5 @@ # Revision history for cborg -## 0.2.6.0 -- 2021-10-31--* Support for GHC 9.2--* Support for `text-2.0` and zero-copy `Text` serialisation support--## 0.2.5.0 -- 2021-04-08--* Support for `ghc-bignum` and GHC 9.0--## 0.2.4.0 -- 2021-07-05--* Fix decoding on 32-bit systems (#244)- ## 0.2.3.1 -- 2020-05-10 * Bounds updates for GHC 8.10
cborg.cabal view
@@ -1,5 +1,5 @@ name: cborg-version: 0.2.6.0+version: 0.2.7.0 synopsis: Concise Binary Object Representation (CBOR) license: BSD3 license-file: LICENSE.txt@@ -19,7 +19,8 @@ GHC == 8.6.5, GHC == 8.8.3, GHC == 8.10.1,- GHC == 9.0.1+ GHC == 9.0.1,+ GHC == 9.2.2 extra-source-files: ChangeLog.md@@ -112,7 +113,7 @@ build-depends: -- provide/emulate `Control.Monad.Fail` and `Data.Semigroups` API for pre-GHC8 fail == 4.9.*,- semigroups >= 0.18 && < 0.20,+ semigroups >= 0.18 && < 0.21, -- the `PS` pattern synonym in bytestring 0.11 is unavailable with GHC < 8.0 bytestring < 0.11 @@ -150,7 +151,7 @@ base >= 4.7 && < 4.17, base-orphans, bytestring >= 0.10.4 && < 0.12,- text >= 1.1 && < 1.3,+ text >= 1.1 && < 2.1, cborg, aeson >= 0.7 && < 2.1, base64-bytestring >= 1.0 && < 1.3,
src/Codec/CBOR/Magic.hs view
@@ -191,8 +191,14 @@ case indexWord8OffAddr# ip# 0# of w0# -> case indexWord8OffAddr# ip# 1# of- w1# -> W16# w0# `unsafeShiftL` 8 .|.- W16# w1#+ w1# -> w16 w0# `unsafeShiftL` 8 .|.+ w16 w1#+ where+#if MIN_VERSION_ghc_prim(0,8,0)+ w16 w# = W16# (wordToWord16# (word8ToWord# w#))+#else + w16 w# = W16# w# +#endif grabWord32 (Ptr ip#) = case indexWord8OffAddr# ip# 0# of@@ -202,10 +208,16 @@ case indexWord8OffAddr# ip# 2# of w2# -> case indexWord8OffAddr# ip# 3# of- w3# -> W32# w0# `unsafeShiftL` 24 .|.- W32# w1# `unsafeShiftL` 16 .|.- W32# w2# `unsafeShiftL` 8 .|.- W32# w3#+ w3# -> w32 w0# `unsafeShiftL` 24 .|.+ w32 w1# `unsafeShiftL` 16 .|.+ w32 w2# `unsafeShiftL` 8 .|.+ w32 w3#+ where +#if MIN_VERSION_ghc_prim(0,8,0)+ w32 w# = W32# (wordToWord32# (word8ToWord# w#))+#else + w32 w# = W32# w# +#endif grabWord64 (Ptr ip#) = case indexWord8OffAddr# ip# 0# of@@ -223,19 +235,27 @@ case indexWord8OffAddr# ip# 6# of w6# -> case indexWord8OffAddr# ip# 7# of- w7# -> w w0# `unsafeShiftL` 56 .|.- w w1# `unsafeShiftL` 48 .|.- w w2# `unsafeShiftL` 40 .|.- w w3# `unsafeShiftL` 32 .|.- w w4# `unsafeShiftL` 24 .|.- w w5# `unsafeShiftL` 16 .|.- w w6# `unsafeShiftL` 8 .|.- w w7#+ w7# -> w64 w0# `unsafeShiftL` 56 .|.+ w64 w1# `unsafeShiftL` 48 .|.+ w64 w2# `unsafeShiftL` 40 .|.+ w64 w3# `unsafeShiftL` 32 .|.+ w64 w4# `unsafeShiftL` 24 .|.+ w64 w5# `unsafeShiftL` 16 .|.+ w64 w6# `unsafeShiftL` 8 .|.+ w64 w7# where-#if defined(ARCH_64bit)- w w# = W64# w#-#else- w w# = W64# (wordToWord64# w#)+#if MIN_VERSION_ghc_prim(0,8,0)+ toWord :: Word8# -> Word#+ toWord w# = word8ToWord# w#+#else + toWord :: Word# -> Word#+ toWord w# = w# +#endif++#if WORD_SIZE_IN_BITS == 64+ w64 w# = W64# (toWord w#)+#else + w64 w# = W64# (wordToWord64# (toWord w#)) #endif #endif