<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>
<style>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">
<h3>
Marge Bot pushed to branch wip/marge_bot_batch_merge_job
at <a href="https://gitlab.haskell.org/ghc/ghc">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8ff95f7e3b1c5a22c120f5712a4eb203c84e87f3">8ff95f7e</a></strong>
<div>
<span>by GHC GitLab CI</span>
<i>at 2020-11-02T18:14:57-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add --top flag to driver
This allows us to make `config.top` a proper Path. Previously it was a
str, which caused the Ghostscript detection logic to break.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/711109756d8fac720812778b40382cc622bd30ed">71110975</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-11-02T18:14:58-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Document that ccall convention doesn't support varargs
We do not support foreign "C" imports of varargs functions. While this
works on amd64, in general the platform's calling convention may need
more type information that our Cmm representation can currently provide.
For instance, this is the case with Darwin's AArch64 calling convention.
Document this fact in the users guide and fix T5423 which makes use of a
disallowed foreign import.
Closes #18854.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/aa43281e3fb0a4542565e8ca377ad50fa944de6e">aa43281e</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-11-02T18:14:58-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">RtsAPI: pause and resume the RTS
The `rts_pause` and `rts_resume` functions have been added to `RtsAPI.h` and
allow an external process to completely pause and resume the RTS.
Co-authored-by: Sven Tennie <sven.tennie@gmail.com>
Co-authored-by: Matthew Pickering <matthewtpickering@gmail.com>
Co-authored-by: Ben Gamari <bgamari.foss@gmail.com>
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3889281e0b9c9773ad72149c3c9a1bf1c7931105">3889281e</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2020-11-02T18:14:59-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Display results of GHC.Core.Lint.lint* functions consistently
Previously, the functions in `GHC.Core.Lint` used a patchwork of
different ways to display Core Lint errors:
* `lintPassResult` (which is the source of most Core Lint errors) renders
Core Lint errors with a distinctive banner (e.g.,
`*** Core Lint errors : in result of ... ***`) that sets them apart
from ordinary GHC error messages.
* `lintAxioms`, in contrast, uses a completely different code path that
displays Core Lint errors in a rather confusing manner. For example,
the program in #18770 would give these results:
```
Bug.hs:1:1: error:
Bug.hs:12:1: warning:
Non-*-like kind when *-like expected: RuntimeRep
when checking the body of forall: 'TupleRep '[r]
In the coercion axiom Bug.N:T :: []. Bug.T ~_R Any
Substitution: [TCvSubst
In scope: InScope {r}
Type env: [axl :-> r]
Co env: []]
|
1 | {-# LANGUAGE DataKinds #-}
| ^
```
* Further digging reveals that `GHC.IfaceToCore` displays Core Lint
errors for iface unfoldings as though they were a GHC panic. See, for
example, this excerpt from #17723:
```
ghc: panic! (the 'impossible' happened)
(GHC version 8.8.2 for x86_64-unknown-linux):
Iface Lint failure
In interface for Lib
...
```
This patch makes all of these code paths display Core Lint errors and
warnings consistently. I decided to adopt the conventions that
`lintPassResult` currently uses, as they appear to have been around the
longest (and look the best, in my subjective opinion). We now use the
`displayLintResult` function for all three scenarios mentioned above.
For example, here is what the Core Lint error for the program in #18770 looks
like after this patch:
```
[1 of 1] Compiling Bug ( Bug.hs, Bug.o )
*** Core Lint errors : in result of TcGblEnv axioms ***
Bug.hs:12:1: warning:
Non-*-like kind when *-like expected: RuntimeRep
when checking the body of forall: 'TupleRep '[r_axn]
In the coercion axiom N:T :: []. T ~_R Any
Substitution: [TCvSubst
In scope: InScope {r_axn}
Type env: [axn :-> r_axn]
Co env: []]
*** Offending Program ***
axiom N:T :: T = Any -- Defined at Bug.hs:12:1
*** End of Offense ***
<no location info>: error:
Compilation had errors
```
Fixes #18770.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/87d6dfe4f18a5ce32d4fd6dba6494f83102100ba">87d6dfe4</a></strong>
<div>
<span>by Simon Peyton Jones</span>
<i>at 2020-11-02T18:14:59-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Expand type synonyms with :kind!
The User's Guide claims that `:kind!` should expand type synonyms,
but GHCi wasn't doing this in practice. Let's just update the implementation
to match the specification in the User's Guide.
Fixes #13795. Fixes #18828.
Co-authored-by: Ryan Scott <ryan.gl.scott@gmail.com>
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2dc835801c5bb0eba9fb8e55874e2cb1876a8f4c">2dc83580</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-11-02T18:15:00-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">hadrian: Don't capture RunTest output
There are a few reasons why capturing the output of the RunTest builder
is undesirable:
* there is a large amount of output which then gets unnecessarily
duplicated by Hadrian if the builder fails
* the output may contain codepoints which are unrepresentable in the
current codepage on Windows, causing Hadrian to crash
* capturing the output causes the testsuite driver to disable
its colorisation logic, making the output less legible.
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#36a42448a83a9d1f6df8475f03ead2eed199dd8e">
compiler/GHC/Core/Lint.hs
</a>
</li>
<li class="file-stats">
<a href="#9a679a2680ef6061397f1987091ea9f96ffe095d">
compiler/GHC/Driver/Main.hs
</a>
</li>
<li class="file-stats">
<a href="#06ff7bac58fd8cfe0c17b81963b03f4cce86a065">
compiler/GHC/IfaceToCore.hs
</a>
</li>
<li class="file-stats">
<a href="#e65390fa5a32c453a81a1c9a3e1c4464d155ca4a">
compiler/GHC/Tc/Module.hs
</a>
</li>
<li class="file-stats">
<a href="#7dcf5b567a6cd3c9d98cf8d57323fbca1b1536e9">
compiler/GHC/Tc/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#d87dfc77856eeaef6134e28336290ddcbcf18d7d">
docs/users_guide/9.2.1-notes.rst
</a>
</li>
<li class="file-stats">
<a href="#f1fb2cbc6312f41f6aac14d2046c24ce0c5cbea2">
docs/users_guide/exts/ffi.rst
</a>
</li>
<li class="file-stats">
<a href="#f2d774357fa6061a6d5972714cf4ad7a22e37695">
hadrian/src/Builder.hs
</a>
</li>
<li class="file-stats">
<a href="#acb22db8d0fa26a579b612416f02f6a519b4cb9b">
hadrian/src/Settings/Builders/RunTest.hs
</a>
</li>
<li class="file-stats">
<a href="#f7bfc5e15e7497f29b41f6df46865c151a07955d">
includes/RtsAPI.h
</a>
</li>
<li class="file-stats">
<a href="#070171e7e38216085c4ab5a6c13007583f941f22">
includes/rts/Threads.h
</a>
</li>
<li class="file-stats">
<a href="#33249795fee267712d5c3a7ecfa9f2edea260401">
rts/Capability.c
</a>
</li>
<li class="file-stats">
<a href="#52cbed6d5a31a2e77e689138af4477c2a62f413b">
rts/RtsAPI.c
</a>
</li>
<li class="file-stats">
<a href="#7d6961cb073b9fe3df3a81f0ad5cf36eed293c42">
rts/Schedule.c
</a>
</li>
<li class="file-stats">
<a href="#2dcc6eaccbc1470a4453e6040e4a5dcfd0ba0a14">
rts/Task.c
</a>
</li>
<li class="file-stats">
<a href="#c2040c137b600dfa675c61141d27d241f339d6b6">
rts/Task.h
</a>
</li>
<li class="file-stats">
<a href="#b4a38dad10ba126e05a0b6adc99aa0c2eb742875">
rts/sm/NonMoving.c
</a>
</li>
<li class="file-stats">
<a href="#326e115e015c04db679ca1d9dbc1092906bef3a6">
testsuite/driver/runtests.py
</a>
</li>
<li class="file-stats">
<a href="#19a3a16fa9d768a2005142b6cc4b642f0f88713f">
testsuite/driver/testglobals.py
</a>
</li>
<li class="file-stats">
<a href="#c591f85f122007bac88228c5ff6fd76b40e6a811">
testsuite/driver/testlib.py
</a>
</li>
<li class="file-stats">
<a href="#7b2623ac371a10ea66bc330530343f950eec0e23">
testsuite/mk/test.mk
</a>
</li>
<li class="file-stats">
<a href="#8f56b0c5bcac0c60eefa80eec8dc08bb7766937a">
testsuite/tests/callarity/unittest/CallArity1.hs
</a>
</li>
<li class="file-stats">
<a href="#c7ed66d5c4a32d37e9f18fbe976a48e103a40d54">
<span class="new-file">
+
testsuite/tests/ghci/scripts/T13795.script
</span>
</a>
</li>
<li class="file-stats">
<a href="#079188c8b59b4d0581f2957cf3147e1913447dff">
<span class="new-file">
+
testsuite/tests/ghci/scripts/T13795.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#e513b1b56a4b48de1e3f8a49308e0b47f38dddd0">
<span class="new-file">
+
testsuite/tests/ghci/scripts/T18828.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#451ac53af01fad093227c8366dadf6ca2147faec">
<span class="new-file">
+
testsuite/tests/ghci/scripts/T18828.script
</span>
</a>
</li>
<li class="file-stats">
<a href="#49acfc417b9416bbfc96f62da948a388d8ddd9dd">
<span class="new-file">
+
testsuite/tests/ghci/scripts/T18828.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#080fb38cc741d3f1a476696b3373ab7cf48c2aaa">
testsuite/tests/ghci/scripts/all.T
</a>
</li>
<li class="file-stats">
<a href="#be8623676f6c429829619e70a1657c7cee34fd9d">
testsuite/tests/rts/T5423.hs
</a>
</li>
<li class="file-stats">
<a href="#4ff625716cd80d917e20c98d1c07a81686c03136">
testsuite/tests/rts/T5423.stdout
</a>
</li>
</ul>
<h5>The diff was not included because it is too large.</h5>
</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #777;">
—
<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/737d467ffc0200dbe173ccd345a16fc3d8e1bac3...2dc835801c5bb0eba9fb8e55874e2cb1876a8f4c">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.haskell.org.
If you'd like to receive fewer emails, you can
adjust your notification settings.
</p>
</div>
</body>
</html>