[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 10 commits: base: Propagate `error` CallStack to thrown exception

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Fri Sep 20 22:25:54 UTC 2024



Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
4cc9a07e by Ben Gamari at 2024-09-20T18:25:23-04:00
base: Propagate `error` CallStack to thrown exception

Previously `errorCallWithCallStackException` failed to propagate its
`CallStack` argument, which represents the call-chain of the preceding
`error` call, to the exception that it returned. Consequently, the
call-stack of `error` calls were quite useless.

Unfortunately, this is the second time that I have fixed this but it
seems the first must have been lost in rebasing.

Fixes #24807.

- - - - -
cba79db1 by doyougnu at 2024-09-20T18:25:24-04:00
linker: add --optimistic-linking flag

This patch adds:

- the --optimistic-linking flag which binds unknown symbols in the
runtime linker to 0xDEADBEEF instead of exiting with failure

- The test T25240 which tests these flags using dead code in the FFI system.

- closes #25240

This patch is part of the upstreaming haskell.nix patches project.

- - - - -
4138f79e by Sebastian Graf at 2024-09-20T18:25:25-04:00
Demand: Combine examples into Note (#25107)

Just a leftover from !13060.

Fixes #25107.

- - - - -
7a6cad41 by sheaf at 2024-09-20T18:25:26-04:00
Use x86_64-unknown-windows-gnu target for LLVM on Windows

- - - - -
4f7dd10a by sheaf at 2024-09-20T18:25:26-04:00
LLVM: use -relocation-model=pic on Windows

This is necessary to avoid the segfaults reported in #22487.

Fixes #22487

- - - - -
d75c58ff by Ryan Hendrickson at 2024-09-20T18:25:28-04:00
compiler: Use type abstractions when deriving

For deriving newtype and deriving via, in order to bring type variables
needed for the coercions into scope, GHC generates type signatures for
derived class methods. As a simplification, drop the type signatures and
instead use type abstractions to bring method type variables into scope.

- - - - -
a8dcc787 by Zubin Duggal at 2024-09-20T18:25:28-04:00
driver: Ensure we run driverPlugin for staticPlugins (#25217)

driverPlugins are only run when the plugin state changes. This meant they were
never run for static plugins, as their state never changes.

We need to keep track of whether a static plugin has been initialised to ensure
we run static driver plugins at least once. This necessitates an additional field
in the `StaticPlugin` constructor as this state has to be bundled with the plugin
itself, as static plugins have no name/identifier we can use to otherwise reference
them

- - - - -
c83d4179 by Andreas Klebinger at 2024-09-20T18:25:29-04:00
Allow unknown fd device types for setNonBlockingMode.

This allows fds with a unknown device type to have blocking mode
set. This happens for example for fds from the inotify subsystem.

Fixes #25199.

- - - - -
c1238ab5 by Sven Tennie at 2024-09-20T18:25:30-04:00
ghc-toolchain: Set -fuse-ld even for ld.bfd

This reflects the behaviour of the autoconf scripts.

- - - - -
ac820b38 by Sylvain Henry at 2024-09-20T18:25:42-04:00
Parser: be more careful when lexing extended literals (#25258)

Previously we would lex invalid prefixes like "8#Int3" as [8#Int, 3].

A side-effect of this patch is that we now allow negative unsigned
extended literals. They trigger an overflow warning later anyway.

- - - - -


30 changed files:

- compiler/GHC/Core/Opt/DmdAnal.hs
- compiler/GHC/Data/StringBuffer.hs
- compiler/GHC/Driver/Pipeline/Execute.hs
- compiler/GHC/Driver/Plugins.hs
- compiler/GHC/Hs/Pat.hs
- compiler/GHC/Parser.y
- compiler/GHC/Parser/Lexer.x
- compiler/GHC/Parser/PostProcess.hs
- compiler/GHC/Rename/Pat.hs
- compiler/GHC/Runtime/Loader.hs
- compiler/GHC/Tc/Deriv.hs
- compiler/GHC/Tc/Deriv/Generate.hs
- compiler/GHC/Tc/Gen/Pat.hs
- compiler/GHC/ThToHs.hs
- compiler/GHC/Types/Demand.hs
- docs/users_guide/9.12.1-notes.rst
- docs/users_guide/exts/extended_literals.rst
- docs/users_guide/runtime_control.rst
- libraries/base/changelog.md
- libraries/base/tests/T19288.stderr
- + libraries/base/tests/T24807.hs
- + libraries/base/tests/T24807.stderr
- libraries/base/tests/all.T
- libraries/ghc-internal/src/GHC/Internal/Exception.hs
- libraries/ghc-internal/src/GHC/Internal/IO/FD.hs
- libraries/ghc-internal/src/GHC/Internal/RTS/Flags.hsc
- libraries/ghc-internal/src/GHC/Internal/System/Posix/Internals.hs
- llvm-targets
- m4/ghc_llvm_target.m4
- rts/Linker.c


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/60db6c2581d1e80d04b2a56576d54677f36db069...ac820b38f632fe88aa835aed61930ce8edf598c2

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/60db6c2581d1e80d04b2a56576d54677f36db069...ac820b38f632fe88aa835aed61930ce8edf598c2
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/20240920/e50d4222/attachment.html>


More information about the ghc-commits mailing list