2.2. Version 9.4.6¶
The significant changes to the various parts of the compiler are listed in the following sections.
The LLVM backend
of this release is to be used with LLVM
10, 11, 12, 13, or 14.
2.2.1. Significant Changes¶
Issues fixed in this release include:
2.2.1.1. Compiler¶
- Fix a bug where certain dictionaries for undecidable instances could end up looping at runtime (#22549).
- Fix a compiler panic involving newtype family instances (:ghc-ticket:`23329).
- Fix a bug preventing using the command line to compile
.cmm
files to assembly (#23610). - Fix compiler panics with certain RULE pragmas (#23208, #22761).
- Fix a loop in the simplifier due to a bug in the representation of certain fields in interface files (#22272).
- Make type equality
(~)
checks in the presence of quantified contrains more robust to argument ordering (#23333). - Fix some segfaults when using
UnliftedDataTypes
(#23231, #23146). - Improve bounds checking with
-fcheck-prim-bounds
(#21054). - Fix a bug in the simplifier leading to core lint errors (#23012).
- Ensure array read operations have proper memory barries (#23541).
- Fix a spurious
-dcore-lint
failure with certain kinds of type family instances (#22547). - Fix a bug with
.hie
files containing spurious references to generated functions in files with partial field selectors (#23492). - With the aarch64 backend, fix a bug arising from lack of zero-extension for 8/16 bit add/sub with immediate (#23749).
- Fix a number of bugs having to do with default representation polymorphic type variables (#23153, #23154, #23176).
2.2.1.2. GHCi and Bytecode Interpreter¶
- Add support for top-level
Addr#
literals (#22376) - Fix some tag inference bugs when using the bytecode interpreter (#22840).
- Support the
foreign import prim
calling convention in the bytecode interpreter (#22051). - Support sized literals in the bytecode interpreter (#21945).
- Fix a bug with the handling of unboxed tuples in the bytecode interpreter (#23068).
- Make the bytecode interpreter more robust when run on optimised code (#22958)
2.2.1.3. Runtime system¶
- Accurately account for mutator allocations when using the non-moving GC (#23312).
- Prevent some segfaults by ensuring that pinned allocations respect block size (#23400).
- Fix warnings with clang 14.0.3 (#23561).
- On Windows, ensure reliability of IO manager shutdown (#23691).
- Fix a bug with the GHC linker on windows (#22941).
2.2.1.4. Build system and packaging¶
2.2.1.5. Core libraries¶
- Bump
base
to 4.17.2.0 - base: Restore``mingwex`` dependency on Windows (#23309).
- Bump
process
to 1.6.17.0 - Bump
bytestring
to 0.11.5.1
2.2.1.6. Included libraries¶
The package database provided with this distribution also contains a number of packages other than GHC itself. See the changelogs provided with these packages for further change information.
Package | Version | Reason for inclusion |
---|---|---|
ghc | 9.4.7 | The compiler itself |
Cabal-syntax | 3.8.1.0 | Dependency of ghc-pkg utility |
Cabal | 3.8.1.0 | Dependency of ghc-pkg utility |
Win32 | 2.12.0.1 | Dependency of ghc library |
array | 0.5.4.0 | Dependency of ghc library |
base | 4.17.2.0 | Core library |
binary | 0.8.9.1 | Dependency of ghc library |
bytestring | 0.11.5.2 | Dependency of ghc library |
containers | 0.6.7 | Dependency of ghc library |
deepseq | 1.4.8.0 | Dependency of ghc library |
directory | 1.3.7.1 | Dependency of ghc library |
exceptions | 0.10.5 | Dependency of ghc and haskeline library |
filepath | 1.4.2.2 | Dependency of ghc library |
ghc-boot-th | 9.4.7 | Internal compiler library |
ghc-boot | 9.4.7 | Internal compiler library |
ghc-compact | 0.1.0.0 | Core library |
ghc-heap | 9.4.7 | GHC heap-walking library |
ghc-prim | 0.9.1 | Core library |
ghci | 9.4.7 | The REPL interface |
haskeline | 0.8.2 | Dependency of ghci executable |
hpc | 0.6.1.0 | Dependency of hpc executable |
integer-gmp | 1.1 | Core library |
libiserv | 9.4.7 | Internal compiler library |
mtl | 2.2.2 | Dependency of Cabal library |
parsec | 3.1.16.1 | Dependency of Cabal library |
pretty | 1.1.3.6 | Dependency of ghc library |
process | 1.6.17.0 | Dependency of ghc library |
stm | 2.5.1.0 | Dependency of haskeline library |
template-haskell | 2.19.0.0 | Core library |
terminfo | 0.4.1.5 | Dependency of haskeline library |
text | 2.0.2 | Dependency of Cabal library |
time | 1.12.2 | Dependency of ghc library |
transformers | 0.5.6.2 | Dependency of ghc library |
unix | 2.7.3 | Dependency of ghc library |
xhtml | 3000.2.2.1 | Dependency of haddock executable |