Fix array and cleanup conversion primops (#19026)
The first change makes the array ones use the proper fixed-size types, which also means that just like before, they can be used without explicit conversions with the boxed sized types. (Before, it was Int# / Word# on both sides, now it is fixed sized on both sides). For the second change, don't use "extend" or "narrow" in some of the user-facing primops names for conversions. - Names like `narrowInt32#` are misleading when `Int` is 32-bits. - Names like `extendInt64#` are flat-out wrong when `Int is 32-bits. - `narrow{Int,Word}<N>#` however map a type to itself, and so don't suffer from this problem. They are left as-is. These changes are batched together because Alex happend to use the array ops. We can only use released versions of Alex at this time, sadly, and I don't want to have to have a release thatwon't work for the final GHC 9.2. So by combining these we get all the changes for Alex done at once. Bump hackage state in a few places, and also make that workflow slightly easier for the future. Bump minimum Alex version Bump Cabal, array, bytestring, containers, text, and binary submodules
Showing
- .gitlab-ci.yml 9 additions, 4 deletions.gitlab-ci.yml
- .gitlab/ci.sh 4 additions, 4 deletions.gitlab/ci.sh
- aclocal.m4 4 additions, 4 deletionsaclocal.m4
- compiler/GHC/Builtin/bytearray-ops.txt.pp 30 additions, 30 deletionscompiler/GHC/Builtin/bytearray-ops.txt.pp
- compiler/GHC/Builtin/primops.txt.pp 45 additions, 48 deletionscompiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/CmmToAsm/Ppr.hs 6 additions, 8 deletionscompiler/GHC/CmmToAsm/Ppr.hs
- compiler/GHC/Data/FastString.hs 4 additions, 0 deletionscompiler/GHC/Data/FastString.hs
- compiler/GHC/StgToCmm/Prim.hs 48 additions, 48 deletionscompiler/GHC/StgToCmm/Prim.hs
- compiler/GHC/Tc/Deriv/Generate.hs 22 additions, 21 deletionscompiler/GHC/Tc/Deriv/Generate.hs
- hadrian/cabal.project 1 addition, 2 deletionshadrian/cabal.project
- hadrian/hadrian.cabal 1 addition, 2 deletionshadrian/hadrian.cabal
- hadrian/stack.yaml 1 addition, 0 deletionshadrian/stack.yaml
- libraries/Cabal 1 addition, 1 deletionlibraries/Cabal
- libraries/array 1 addition, 1 deletionlibraries/array
- libraries/base/GHC/Float/ConversionUtils.hs 1 addition, 1 deletionlibraries/base/GHC/Float/ConversionUtils.hs
- libraries/base/GHC/IO/Encoding/CodePage.hs 3 additions, 3 deletionslibraries/base/GHC/IO/Encoding/CodePage.hs
- libraries/base/GHC/IO/Encoding/UTF16.hs 2 additions, 2 deletionslibraries/base/GHC/IO/Encoding/UTF16.hs
- libraries/base/GHC/IO/Encoding/UTF32.hs 4 additions, 4 deletionslibraries/base/GHC/IO/Encoding/UTF32.hs
- libraries/base/GHC/IO/Encoding/UTF8.hs 9 additions, 9 deletionslibraries/base/GHC/IO/Encoding/UTF8.hs
- libraries/base/GHC/Int.hs 130 additions, 130 deletionslibraries/base/GHC/Int.hs
Loading
Please register or sign in to comment