1.8. Release notes for version 7.8.4

The 7.8.4 release is a bugfix release. The major bugfixes relative to 7.8.3 are listed below.

1.8.1. GHC

  • 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).