The 7.8.4 release is a bugfix release. The major bugfixes relative to 7.8.3 are listed below.
A critical bug in the LLVM backend which would cause the compiler to generate incorrect code has been fixed (issue #9439).
Several bugs in the code generator have been fixed for unregisterised platforms, such as 64bit PowerPC (issue #8819 and #8849).
A bug that could cause GHC's constructor specialization
pass (enabled by default at -O2
, or via
-fspec-constr
) to loop forever and
consume large amounts of memory has been fixed (issue
#8960).
A bug that would cause GHC to fail when attempting to determine GCC's version information in non-english locales has been fixed (issue #8825).
A minor bug that allowed GHC to seemingly import (but not use) private data constructors has been fixed (issue #9006).
A bug in the register allocator which would cause GHC to crash during compilation has been fixed (issue #9303).
A bug that caused the compiler to panic on some input C-- code has been fixed (issue #9329).
A few various minor deadlocks in the runtime system when
using forkProcess
have been fixed.
A bug which made blocked STM transactions non-interruptible has been fixed (issue #9379).
A bug in the compiler which broke pattern synonym imports across modules in Haddock has been fixed (issue #9417).
A minor bug in the code generator in which the
popCnt16#
did not zero-extend its
result has been fixed (issue #9435).
A bug which caused the compiler to panic on pattern synonyms inside a class declaration has been fixed (issue #9705).
A bug in the typechecker revolving around un-saturated type family applications has been fixed (issue #9433).
Several bugs have been fixed causing problems with building GHC on ARM (issues #8951, #9620, #9336, and #9552).
A bug in the typechecker that could cause an infinite loop when using superclasses in a cycle has been fixed (issue #9415).
A bug causing corruption in signal handling with the single-threaded runtime system has been fixed (issue #9817).
A bug that could cause compiled programs to crash due to use of overlapping type families has been fixed (issue #9371).
A bug in the inliner that caused certain expressions within unboxed tuples to not be properly evaluated has been fixed (issue #9390).
A bug that caused the compiler to not always properly detect LLVM tools (particularly on Windows) has been fixed (issue #7143).
A bug that prevented GHC from deriving
Generic1
instances for data families
has been fixed (#9563).
A bug that caused type inference to infer the incorrect type in the presence of certain type families and constraints has been fixed (issue #9316).