2.3. Version 9.12.3¶
The significant changes to the various parts of the compiler are listed in the following sections. See the migration guide on the GHC Wiki for specific guidance on migrating programs to this release.
2.3.1. Compiler¶
Fixed re-exports of
MkSoloandMkSolo#(#25182)Fixed the behavior of
Language.Haskell.TH.mkName "FUN"(#25174)Fixed miscompilation involving
zonkEqTypesonAppTy/AppTy(#26256)Fixed CprAnal to detect recursive newtypes (#25944)
Fixed specialisation of incoherent instances (#25883)
Fixed bytecode generation for
tagToEnum# <LITERAL>(#25975)Fixed panic with EmptyCase and RequiredTypeArguments (#25004)
Fixed
tyConStupidThetato handlePromotedDataCon(#25739)Fixed unused import warnings for duplicate record fields (#24035)
Fixed lexing of
"\^\"(#25937)Fixed string gap collapsing (#25784)
Fixed lexing of comments in multiline strings (#25609)
Made unexpected LLVM versions a warning rather than an error (#25915)
Disabled
-fprof-late-overloaded-callsfor join points to avoid invalid transformationsFixed bugs in
integerRecipModandintegerPowMod(#26017)Fixed
naturalAndNotfor NB/NS case (#26230)Fixed
ds_ev_typeableto usemkTrAppChecked(#25998)Fixed GHC settings to always unescape escaped spaces (#25204)
Fixed issue with HasCallStack constraint caching (#25529)
Fixed archive member size writing logic in
GHC.SysTools.Ar(#26120, #22586)
2.3.2. Runtime System¶
Fixed
MessageBlackHole.linkto always be a valid closureFixed handling of WHITEHOLE in
messageBlackHole(#26205)Fixed
rts_clearMemorylogic when sanity checks are enabled (#26011)Fixed underflow frame lookups in the bytecode interpreter (#25750)
Fixed overflows and reentrancy in interpreter statistics calculation (#25756)
Fixed INTERP_STATS profiling code (#25695)
Removed problematic
n_freevariable from nonmovingGC (#26186)Fixed incorrect format specifiers in era profiling
Improved documentation of SLIDE and PACK bytecode instructions
Eliminated redundant
SLIDE x 0bytecode instructionsFixed compile issues on powerpc64 ELF v1
2.3.3. Code Generation¶
Fixed LLVM built-in variable predicate (was checking
$llvminstead of@llvm)Fixed linkage of built-in arrays for LLVM (#25769)
Fixed code generation for SSE vector operations (#25859)
Fixed
bswap64code generation on i386 (#25601)Fixed sub-word arithmetic right shift on AArch64 (#26061)
Fixed LLVM vector literal emission to include type information
Fixed LLVM version detection
Fixed typo in
padLiveArgsthat caused segfaults (#25770, #25773)Fixed constant-folding for Word->Float bitcasts
Added surface syntax for Word/Float bitcast operations
Fixed
MOVDformat in x86 NCG forunpackInt64X2#Added
-finter-module-far-jumpsflag for AArch64Fixed RV64 J instruction handling for non-local jumps (#25738)
Reapplied division by constants optimization
Fixed TNTC to set CmmProc entry_label properly (#25565)
2.3.4. Linker¶
2.3.5. GHCi¶
Fixed
mkTopLevEnvto useloadInterfaceForModuleinstead ofloadSrcInterface(#25951)
2.3.6. Template Haskell¶
Added explicit export lists to all remaining template-haskell modules
2.3.7. Build system¶
2.3.8. 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.12.2.20251110 | The compiler itself |
Cabal-syntax |
3.14.2.0 | Dependency of |
Cabal |
3.14.2.0 | Dependency of |
Win32 |
2.14.1.0 | Dependency of |
array |
0.5.8.0 | Dependency of |
base |
4.21.1.0 | Core library |
binary |
0.8.9.3 | Dependency of |
bytestring |
0.12.2.0 | Dependency of |
containers |
0.7 | Dependency of |
deepseq |
1.5.1.0 | Dependency of |
directory |
1.3.9.0 | Dependency of |
exceptions |
0.10.10 | Dependency of |
file-io |
0.1.5 | Dependency of |
filepath |
1.5.4.0 | Dependency of |
ghc-boot-th |
9.12.2.20251110 | Internal compiler library |
ghc-boot |
9.12.2.20251110 | Internal compiler library |
ghc-compact |
0.1.0.0 | Core library |
ghc-experimental |
9.1202.0 | Core library |
ghc-heap |
9.12.2.20251110 | GHC heap-walking library |
ghc-internal |
9.1202.0 | Core library |
ghc-platform |
0.1.0.0 | Internal library |
ghc-prim |
0.13.0 | Core library |
ghci |
9.12.2.20251110 | The REPL interface |
haskeline |
0.8.2.1 | Dependency of |
hpc |
0.7.0.2 | Dependency of |
integer-gmp |
1.1 | Core library |
mtl |
2.3.1 | Dependency of |
os-string |
2.0.8 | Dependency of |
parsec |
3.1.18.0 | Dependency of |
pretty |
1.1.3.6 | Dependency of |
process |
1.6.26.1 | Dependency of |
semaphore-compat |
1.0.0 | Dependency of |
stm |
2.5.3.1 | Dependency of |
template-haskell |
2.23.0.0 | Core library |
terminfo |
0.4.1.7 | Dependency of |
text |
2.1.3 | Dependency of |
time |
1.14 | Dependency of |
transformers |
0.6.1.2 | Dependency of |
unix |
2.8.7.0 | Dependency of |
xhtml |
3000.2.2.1 | Dependency of |
haddock-api |
2.30.0 | Dependency of |
haddock-library |
1.11.0 | Dependency of |