-
090c800e
by Recursion Ninja at 2025-08-18T10:10:15-04:00
Resolving issues #20645 and #26109
Correctly sign extending and casting smaller bit width types for LLVM operations:
- bitReverse8#
- bitReverse16#
- bitReverse32#
- byteSwap16#
- byteSwap32#
- pdep8#
- pdep16#
- pext8#
- pext16#
(cherry picked from commit 706d33e38fbdcea3f84c34c727c55cfb98c74990)
-
362cfff7
by Ben Gamari at 2025-08-18T10:10:47-04:00
configure: Allow use of LLVM 20
(cherry picked from commit ca03226db2db2696460bfcb8035dd3268d546706)
-
4665589b
by fendor at 2025-08-18T10:11:00-04:00
Store `StackTrace` and `StackSnapshot` in `Backtraces`
Instead of decoding the stack traces when collecting the `Backtraces`,
defer this decoding until actually showing the `Backtraces`.
This allows users to customise how `Backtraces` are displayed by
using a custom implementation of `displayExceptionWithInfo`, overwriting
the default implementation for `Backtraces` (`displayBacktraces`).
(cherry picked from commit c91e26500ab0e1b8b67c1d374f657523c7c15f55)
-
4758f298
by fendor at 2025-08-18T10:11:01-04:00
Allow users to customise the collection of exception annotations
Add a global `CollectExceptionAnnotationMechanism` which determines how
`ExceptionAnnotation`s are collected upon throwing an `Exception`.
This API is exposed via `ghc-experimental`.
By overriding how we collect `Backtraces`, we can control how the
`Backtraces` are displayed to the user by newtyping `Backtraces` and
giving a different instance for `ExceptionAnnotation`.
A concrete use-case for this feature is allowing us to experiment with
alternative stack decoders, without having to modify `base`, which take
additional information from the stack frames.
This commit does not modify how `Backtraces` are currently
collected or displayed.
(cherry picked from commit dee28cdd794652a3ebc271184e2ab3c866b5e219)
-
9eff634c
by fendor at 2025-08-18T10:11:02-04:00
Expose Backtraces internals from ghc-experimental
Additionally, expose the same API `base:Control.Exception.Backtrace`
to make it easier to use as a drop-in replacement.
(cherry picked from commit 6602472273e1cdffcdb7753c9133047e571896bd)
-
fca42ecf
by Ben Gamari at 2025-08-18T22:30:52-04:00
users-guide: Release notes formatting wibbles