[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 22 commits: base: Improve String & IsString documentation

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Thu Aug 3 21:29:34 UTC 2023



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


Commits:
e3e395d9 by Profpatsch at 2023-08-03T17:28:58-04:00
base: Improve String & IsString documentation

- - - - -
63705b22 by Ben Gamari at 2023-08-03T17:28:58-04:00
rts/win32: Ensure reliability of IO manager shutdown

When the Win32 threaded IO manager shuts down, `ioManagerDie` sends an
`IO_MANAGER_DIE` event to the IO manager thread using the
`io_manager_event` event object. Finally, it will closes the event object,
and invalidate `io_manager_event`.

Previously, `readIOManagerEvent` would see that `io_manager_event` is
invalid and return `0`, suggesting that everything is right with the
world. This meant that if `ioManagerDie` invalidated the handle before
the event manager was blocked on the event we would end up in a
situation where the event manager would never realize it was asked to
shut down.

Fix this by ensuring that `readIOManagerEvent` instead returns
`IO_MANAGER_DIE` when we detect that the event object has been
invalidated by `ioManagerDie`.

Fixes #23691.

- - - - -
60bb86d7 by Ryan Scott at 2023-08-03T17:28:59-04:00
Look through TH splices in splitHsApps

This modifies `splitHsApps` (a key function used in typechecking function
applications) to look through untyped TH splices and quasiquotes. Not doing so
was the cause of #21077. This builds on !7821 by making `splitHsApps` match on
`HsUntypedSpliceTop`, which contains the `ThModFinalizers` that must be run as
part of invoking the TH splice. See the new `Note [Looking through Template
Haskell splices in splitHsApps]` in `GHC.Tc.Gen.Head`.

Along the way, I needed to make the type of `splitHsApps.set` slightly more
general to accommodate the fact that the location attached to a quasiquote is
a `SrcAnn NoEpAnns` rather than a `SrcSpanAnnA`.

Fixes #21077.

- - - - -
6c4cebae by Ben Gamari at 2023-08-03T17:29:00-04:00
Bump deepseq submodule to 1.5.

And bump bounds

(cherry picked from commit 1228d3a4a08d30eaf0138a52d1be25b38339ef0b)

- - - - -
67e359d5 by Ben Gamari at 2023-08-03T17:29:00-04:00
configure: Bump minimal boot GHC version to 9.4

(cherry picked from commit d3ffdaf9137705894d15ccc3feff569d64163e8e)

- - - - -
b592c81e by Ben Gamari at 2023-08-03T17:29:00-04:00
template-haskell: Bump version to 2.21.0.0

Bumps exceptions submodule.

(cherry picked from commit bf57fc9aea1196f97f5adb72c8b56434ca4b87cb)

- - - - -
284fd13e by Ben Gamari at 2023-08-03T17:29:00-04:00
base: Bump version to 4.19

Updates all boot library submodules.

(cherry picked from commit 433d99a3c24a55b14ec09099395e9b9641430143)

- - - - -
19a42a5e by Ben Gamari at 2023-08-03T17:29:00-04:00
testsuite: Normalise versions more aggressively

In backpack hashes can contain `+` characters.

(cherry picked from commit 024861af51aee807d800e01e122897166a65ea93)

- - - - -
fd4483a5 by Ben Gamari at 2023-08-03T17:29:00-04:00
testsuite: Declare bkpcabal08 as fragile

Due to spurious output changes described in #23648.

(cherry picked from commit c046a2382420f2be2c4a657c56f8d95f914ea47b)

- - - - -
46d85df4 by Ben Gamari at 2023-08-03T17:29:00-04:00
gitlab-ci: Only mark linker_unload_native as broken in static jobs

This test passes on dynamically-linked Alpine.

(cherry picked from commit f356a7e8ec8ec3d6b2b30fd175598b9b80065d87)

- - - - -
d28425ef by Ben Gamari at 2023-08-03T17:29:00-04:00
testsuite: Update base-exports

- - - - -
f6cb0d96 by Ben Gamari at 2023-08-03T17:29:00-04:00
testsuite/interface-stability: normalise versions

This eliminates spurious changes from version bumps.

- - - - -
02b01f5d by Ben Gamari at 2023-08-03T17:29:01-04:00
linker/PEi386: Don't sign-extend symbol section number

Previously we incorrectly interpreted PE section numbers as signed
values. However, this isn't the case; rather, it's an unsigned 16-bit number
with a few special bit-patterns (0xffff and 0xfffe). This resulted in #22941
as the linker would conclude that the sections were invalid.

Fixing this required quite a bit of refactoring.

Closes #22941.

- - - - -
09b6a222 by Ben Gamari at 2023-08-03T17:29:03-04:00
testsuite: Mark MulMayOflo_full as broken rather than skipping

To ensure that we don't accidentally fix it.

See #23742.

- - - - -
390f4082 by Ben Gamari at 2023-08-03T17:29:03-04:00
nativeGen/AArch64: Fix sign extension in MulMayOflo

Previously the 32-bit implementations of MulMayOflo would use the
a non-sensical sign-extension mode. Rewrite these to reflect what gcc 11
produces. Also similarly rework the 16- and 8-bit cases.

This now passes the MulMayOflo tests in ghc/test-primops> in all four
widths, including the precision tests.

Fixes #23721.

- - - - -
643f8233 by Jan Hrček at 2023-08-03T17:29:06-04:00
Fix haddock markup in code example for coerce

- - - - -
151759cb by Vladislav Zavialov at 2023-08-03T17:29:07-04:00
Fix (~) and (@) infix operators in TH splices (#23748)

8168b42a "Whitespace-sensitive bang patterns" allows GHC to accept
the following infix operators:

	a ~ b = ()
	a @ b = ()

But not if TH is used to generate those declarations:

	$([d| a ~ b = ()
	      a @ b = ()
	    |])

	-- Test.hs:5:2: error: [GHC-55017]
	--    Illegal variable name: ‘~’
	--    When splicing a TH declaration: (~_0) a_1 b_2 = GHC.Tuple.Prim.()

This is easily fixed by modifying `reservedOps` in GHC.Utils.Lexeme

- - - - -
ce2a0b66 by Aaron Allen at 2023-08-03T17:29:09-04:00
[#23663] Show Flag Suggestions in GHCi

Makes suggestions when using `:set` in GHCi with a misspelled flag. This
mirrors how invalid flags are handled when passed to GHC directly. Logic
for producing flag suggestions was moved to GHC.Driver.Sesssion so it
can be shared.

resolves #23663

- - - - -
22f8d52a by Rodrigo Mesquita at 2023-08-03T17:29:10-04:00
Improve ghc-toolchain validation configure warning

Fixes the layout of the ghc-toolchain validation warning produced by
configure.

- - - - -
d2fa0371 by Alan Zimmerman at 2023-08-03T17:29:11-04:00
EPA make getLocA a synonym for getHasLoc

This is basically a no-op change, but allows us to make future changes
that can rely on the HasLoc instances

And I presume this means we can use more precise functions based on
class resolution, so the Windows CI build reports

Metric Decrease:
    T12234
    T13035

- - - - -
3ce9af57 by Ben Gamari at 2023-08-03T17:29:11-04:00
ghc-platform: Add upper bound on base

Hackage upload requires this.
- - - - -
8db3ab21 by Luite Stegeman at 2023-08-03T17:29:14-04:00
JS: Fix missing local variable declarations

This fixes some missing local variable declarations that were
found by running the testsuite in strict mode.

Fixes #23775

- - - - -


30 changed files:

- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
- compiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/CmmToAsm/AArch64/CodeGen.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/JS/Make.hs
- compiler/GHC/Parser/Annotation.hs
- compiler/GHC/Rename/Splice.hs
- compiler/GHC/StgToJS/Expr.hs
- compiler/GHC/Tc/Gen/App.hs
- compiler/GHC/Tc/Gen/Expr.hs
- compiler/GHC/Tc/Gen/Head.hs
- compiler/GHC/Utils/Lexeme.hs
- compiler/ghc.cabal.in
- configure.ac
- ghc/GHCi/UI.hs
- ghc/Main.hs
- ghc/ghc-bin.cabal.in
- libraries/Cabal
- libraries/array
- libraries/base/Data/String.hs
- libraries/base/GHC/Base.hs
- libraries/base/base.cabal
- libraries/containers
- libraries/deepseq
- libraries/directory
- libraries/exceptions
- libraries/ghc-boot-th/ghc-boot-th.cabal.in
- libraries/ghc-boot/ghc-boot.cabal.in
- libraries/ghc-compact/ghc-compact.cabal


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/e82a67416112fb1e9f33ad29f9e1fcb98357c6d1...8db3ab219f85030160bcd9cb7a93981dd80a85cb

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/e82a67416112fb1e9f33ad29f9e1fcb98357c6d1...8db3ab219f85030160bcd9cb7a93981dd80a85cb
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/20230803/ece67679/attachment-0001.html>


More information about the ghc-commits mailing list