[Git][ghc/ghc][ghc-9.12] 30 commits: Bump unix submodule to 2.8.6.0
Zubin (@wz1000)
gitlab at gitlab.haskell.org
Tue Dec 3 09:42:19 UTC 2024
Zubin pushed to branch ghc-9.12 at Glasgow Haskell Compiler / GHC
Commits:
a1f56d6d by Zubin Duggal at 2024-11-26T16:36:33+05:30
Bump unix submodule to 2.8.6.0
- - - - -
348179be by Matthew Pickering at 2024-11-26T16:36:56+05:30
Exception rethrowing
Basic changes:
* Change `catch` function to propagate exceptions using the
WhileHandling mechanism.
* Introduce `catchNoPropagate`, which does the same as before, but
passes an exception which can be rethrown.
* Introduce `rethrowIO` combinator, which rethrows an exception with a
context and doesn't add a new backtrace.
* Introduce `tryWithContext` for a variant of `try` which can rethrow
the exception with it's original context.
* onException is modified to rethrow the original error rather than
creating a new callstack.
* Functions which rethrow in GHC.Internal.IO.Handle.FD,
GHC.Internal.IO.Handle.Internals, GHC.Internal.IO.Handle.Text, and
GHC.Internal.System.IO.Error are modified to not add a new callstack.
Implements CLC proposal#202 <https://github.com/haskell/core-libraries-committee/issues/202>
(cherry picked from commit 6e68b1177ea6fde381060268c377f67f6097877a)
- - - - -
9d5f116c by Rodrigo Mesquita at 2024-11-26T16:38:55+05:30
exceptions: Improve the message layout as per #285
This commit fixes the layout of the additional information included when
displaying an exception, namely the type of the exception.
It also fixes the default handler's heading message to work well
together with the improved display message of SomeException.
CLC proposal#285
(cherry picked from commit a4e0d23596b45f27f5faad2363c77698abe900b1)
- - - - -
39c9228c by Rodrigo Mesquita at 2024-11-26T16:39:07+05:30
Display type and callstack of exception on handler
This commit changes the Exception instance of SomeException to *simply*
display the underlying exception in `displayException`. The augmented
exception message that included the type and backtrace of the exception
are now only printed on a call to `displayExceptionWithInfo`.
At a surface level, existing programs should behave the same since the
`uncaughtExceptionHandler`, which is responsible for printing out uncaught
exceptions to the user, will use `displayExceptionWithInfo` by default.
However, unlike the instance's `displayException` method, the
`uncaughtExceptionHandler` can be overriden with
`setUncaughtExceptionHandler`. This makes the extra information opt-in
without fixing it the instance, which can be valuable if your program
wants to display uncaught exceptions to users in a user-facing way
(ie without backtraces).
This is what was originally agreed for CLC#231 or CLC#261 with regard to
the type of the exception information.
The call stack also becoming part of the default handler rather than the
Exception instance is an ammendment to CLC#164.
Discussion of the ammendment is part of CLC#285.
(cherry picked from commit 284ffab334bcda838865ff4804bc04f9082d81b3)
- - - - -
39ecdcb9 by Rodrigo Mesquita at 2024-11-26T16:39:37+05:30
Remove redundant CallStack from exceptions
Before the exception backtraces proposal was implemented, ErrorCall
accumulated its own callstack via HasCallStack constraints, but
ExceptionContext is now accumulated automatically.
The original ErrorCall mechanism is now redundant and we get a duplicate
CallStack
Updates Cabal submodule to fix their usage of ErrorCallWithLocation to ErrorCall
CLC proposal#285
Fixes #25283
(cherry picked from commit 36cddd2ce1a3bc62ea8a1307d8bc6006d54109cf)
- - - - -
5f7a6678 by Rodrigo Mesquita at 2024-11-26T16:39:48+05:30
Freeze call stack in error throwing functions
CLC proposal#285
(cherry picked from commit 7a74330bf55a85573ed02298b92b7b3fc06f2fed)
- - - - -
1848cfb0 by Rodrigo Mesquita at 2024-11-26T16:39:56+05:30
De-duplicate displayContext and displayExceptionContext
The former was unused except for one module where it was essentially
re-defining displayExceptionContext.
Moreover, this commit extends the fix from
bfe600f5bb3ecd2c8fa71c536c63d3c46984e3f8 to displayExceptionContext too,
which was missing.
(cherry picked from commit 3abf31a45ddbc80901baefdc6325fc3351c5deec)
- - - - -
900aa787 by Rodrigo Mesquita at 2024-11-26T16:40:05+05:30
Re-export NoBacktrace from Control.Exception
This was originally proposed and accepted in section
"2.7 Capturing Backtraces on Exceptions"
of the CLC proposal for exception backtraces.
However, the implementation missed this re-export, which this commit now
fixes.
(cherry picked from commit c0d783f8a94ee6b72ff3c20e0a974cd09edd96ff)
- - - - -
b7337c54 by Rodrigo Mesquita at 2024-11-26T16:40:12+05:30
Fix exception backtraces from GHCi
When running the program with `runhaskell`/`runghc` the backtrace should
match the backtrace one would get by compiling and running the program.
But currently, an exception thrown in a program interpreted with
`runhaskell` will:
* Not include the original exception backtrace at all
* Include the backtrace from the internal GHCi/ghc rethrowing of the
original exception
This commit fixes this divergence by not annotating the ghc(i) backtrace
(with NoBacktrace) and making sure that the backtrace of the original
exception is serialized across the boundary and rethrown with the
appropriate context.
Fixes #25116
The !13301 MR (not this commit in particular) improves performance of
MultiLayerModules. Unfortunately, T3294 regresses on aarch64-linux-deb12
by 1% allocations. Since this patch must be merged for 9.12 ASAP, we
will not be able to investigate the slight regression on this platform
in time.
-------------------------
Metric Decrease:
MultiLayerModulesRecomp
MultiLayerModulesTH_OneShot
Metric Increase:
T3294
-------------------------
(cherry picked from commit 802b5c3e118dad9fcfbe61a3fa4d7bf4592356a8)
- - - - -
e92bfcb9 by Rodrigo Mesquita at 2024-11-26T16:40:25+05:30
base: Add to changelog.md CLC #285
(cherry picked from commit 3e89eb65895b4ea390d0fd2cd4f8bc688a602e34)
- - - - -
ab5867a9 by Zubin Duggal at 2024-11-26T16:42:52+05:30
Bump array and stm submodules for exception output changes
- - - - -
7688daae by Rodrigo Mesquita at 2024-11-26T16:43:13+05:30
Re-introduce ErrorCallWithLocation with a deprecation pragma
With the removal of the duplicate backtrace, part of CLC proposal #285,
the constructor `ErrorCallWithLocation` was removed from base.
This commit re-introduces it with a deprecation.
(cherry picked from commit d1172e20f29e6fbf53fa95726492bdb998c52582)
- - - - -
df632282 by Brandon Chinn at 2024-11-26T16:43:29+05:30
Fix CRLF in multiline strings (#25375)
(cherry picked from commit 7bd407a67cd7810d3ff1e6d18885555175383a35)
- - - - -
5654b8ba by Matthew Pickering at 2024-11-26T16:43:57+05:30
ghc-internal: Update to Unicode 16
This patch updates the automatically generated code for querying unicode
properties to unicode 16.
Fixes #25402
(cherry picked from commit bfe64df85683d63ccfa438fed0999193b703d48c)
- - - - -
0117fed6 by ARATA Mizuki at 2024-11-26T16:44:12+05:30
x86 NCG SIMD: Lower packFloatX4#, insertFloatX4# and broadcastFloatX4# to SSE1 instructions
Fixes #25441
Co-authored-by: sheaf <sam.derbyshire at gmail.com>
(cherry picked from commit a0e168ec0b6f18ffeddaf8a5dfc68e84563630b8)
- - - - -
467f71c6 by Arnaud Spiwack at 2024-11-26T16:45:13+05:30
Add test for #25185
(cherry picked from commit 791a47b205f1d7cc04f27fc780905f8d4fa042fa)
- - - - -
eda04ebd by Arnaud Spiwack at 2024-11-26T16:46:10+05:30
Quick look: emit the multiplicity of app heads in tcValArgs
Otherwise it's not scaled properly by the context, allowing unsound
expressions.
Fixes #25185.
(cherry picked from commit 374e18e5e79125375a49432da939abbb36268c8a)
- - - - -
dbac8232 by sheaf at 2024-11-26T16:46:45+05:30
X86 NCG: allow VXOR at scalar floating-point types
The NCG can emit VXOR instructions at scalar floating-point types,
but the pretty-printer would panic instead of emitting the appropriate
VXORPS/VXORPD instructions. This patch rectifies that oversight.
Fixes #25455
(cherry picked from commit 3936bf1bc37c9f8ea662ed4b57a3a28b5a670c54)
- - - - -
df943652 by sheaf at 2024-11-26T16:46:58+05:30
Include diagnostic reason in -fdiagnostics-as-json
This commit ensures that the -fdiagnostics-as-json output includes the
diagnostic reason. This allows the full error message produced by GHC
to be re-constructed from the JSON output.
Fixes #25403
(cherry picked from commit 831aab2238e682e2977b4959afa100df928cec09)
- - - - -
ff7a27be by sheaf at 2024-11-26T16:47:12+05:30
x86 NCG: fix regUsageOfInstr for VMOVU & friends
This commit fixes the implementation of 'regUsageOfInstr' for vector
operations that take an 'Operand' as the destination, by ensuring that
when the destination is an address then the address should be *READ*,
and not *WRITTEN*.
Getting this wrong is a disaster, as it means the register allocator
has incorrect information, which can lead to it discard stores to
registers, segfaults ensuing.
Fixes #25486
(cherry picked from commit 1fc02399fcc82a222033919c8d3c5db4b382cb97)
- - - - -
345ea654 by Cheng Shao at 2024-11-26T16:47:26+05:30
driver: fix hpc undefined symbol issue in TH with -fprefer-byte-code
This commit fixes an undefined symbol error in RTS linker when
attempting to compile home modules with -fhpc and
-fbyte-code-and-object-code/-fprefer-byte-code, see #25510 for
detailed description and analysis of the bug.
Also adds T25510/T25510c regression tests to test make mode/oneshot
mode of the bug.
(cherry picked from commit bcbcdaaf2df58e3b7a2756d044c4169a724e03d9)
- - - - -
2645523b by Andreas Klebinger at 2024-11-26T16:47:55+05:30
Compacting GC: Handle black holes in large objects.
As #14497 showed black holes can appear inside large objects when
we capture a computation and later blackhole it like we do for AP_STACK
closures.
Fixes #24791
(cherry picked from commit 7f90f319531c312a074d21688b05f664f0d173fc)
- - - - -
0121b76f by Zubin Duggal at 2024-11-26T18:00:38+05:30
Bump os-string submodule to 2.0.8
- - - - -
962ceb50 by Zubin Duggal at 2024-11-26T18:00:38+05:30
Bump file-io submodule to avoid usage of QuasiQuotes
- - - - -
7bc6877f by Zubin Duggal at 2024-11-26T18:00:38+05:30
Bump filepath submodule to 1.5.4.0
- - - - -
90b49376 by Zubin Duggal at 2024-11-27T18:55:49+05:30
Add haskeline to stage0Packages
Otherwise we link against boot inplace and boot unix as boot haskeline
depends on boot unix.
- - - - -
77f340a2 by Zubin Duggal at 2024-11-27T18:58:23+05:30
Fix ghc-e005 after HasCallstack changes
- - - - -
9478b5ae by Zubin Duggal at 2024-11-27T19:02:38+05:30
Bump file-io submodule to 0.1.5
- - - - -
6fc1fa3b by Zubin Duggal at 2024-11-28T14:31:01+05:30
Bump ghc-prim and template-haskell versions
- - - - -
5d938345 by Zubin Duggal at 2024-11-28T18:23:25+05:30
testsuite: Also match <VERSION> placeholders when normalising callsites
(cherry picked from commit 2807f91bfb0b1e60ea8668622eae344e9ff5d840)
- - - - -
30 changed files:
- .gitattributes
- compiler/GHC/CmmToAsm/Format.hs
- compiler/GHC/CmmToAsm/X86/CodeGen.hs
- compiler/GHC/CmmToAsm/X86/Instr.hs
- compiler/GHC/CmmToAsm/X86/Ppr.hs
- compiler/GHC/Driver/Config/StgToCmm.hs
- compiler/GHC/Driver/Hooks.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/HsToCore/Coverage.hs
- compiler/GHC/Iface/Tidy.hs
- compiler/GHC/Parser/String.hs
- compiler/GHC/StgToCmm.hs
- compiler/GHC/StgToCmm/Config.hs
- compiler/GHC/StgToCmm/Hpc.hs
- compiler/GHC/Tc/Gen/App.hs
- compiler/GHC/Tc/Gen/Head.hs
- compiler/GHC/Tc/Utils/Monad.hs
- compiler/GHC/Types/Error.hs
- compiler/GHC/Unit/Module/ModGuts.hs
- compiler/GHC/Unit/Module/Warnings.hs
- compiler/GHC/Utils/Panic/Plain.hs
- + docs/users_guide/diagnostics-as-json-schema-1_1.json
- docs/users_guide/exts/multiline_strings.rst
- docs/users_guide/using.rst
- ghc/GHCi/UI/Monad.hs
- ghc/ghc-bin.cabal.in
- hadrian/src/Settings/Default.hs
- hadrian/src/Settings/Warnings.hs
- libraries/array
- libraries/base/changelog.md
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/97b0dff223a6c4cc003adec448104c277f214645...5d938345841e3dff6a1dfa129202ba939a4564c9
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/97b0dff223a6c4cc003adec448104c277f214645...5d938345841e3dff6a1dfa129202ba939a4564c9
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20241203/fdcdb1fa/attachment-0001.html>
More information about the ghc-commits
mailing list