<!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/c8380a4a738e5c2488337496b0d1b1faf6a7de9d">c8380a4a</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2019-05-29T14:35:50Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Handle hs-boot files in -Wmissing-home-modules (#16551)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/7a75a09403264c60a1f513b7466dc9503b966aab">7a75a094</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-05-29T14:36:35Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: introduce 'static_stats' tests

They are a particular type of perf tests. This patch introduces a
'stats_files_dir' configuration field in the testsuite driver where all
haddock timing files (and possibly others in the future) are assumed to live.
We also change both the Make and Hadrian build systems to pass respectively
$(TOP)/testsuite/tests/perf/haddock/ and
<build root>/stage1/haddock-timing-files/ as the value of that new
configuration field, and to generate the timing files in those directories
in the first place while generating documentation with haddock.

This new test type can be seen as one dedicated to examining stats files that
are generated while building a GHC distribution. This also lets us get rid of
the 'extra_files' directives in the all.T entries for haddock.base,
haddock.Cabal and haddock.compiler.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/32acecc29d4766fd2b168cbd654667ba6be03dbb">32acecc2</a></strong>
<div>
<span>by P.C. Shyamshankar</span>
<i>at 2019-05-29T14:37:16Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Minor spelling fixes to users guide.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/b58b389b538b6fb9cbb3517cff83808f2a690a0e">b58b389b</a></strong>
<div>
<span>by Oleg Grenrus</span>
<i>at 2019-05-29T14:37:54Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove stale 8.2.1-notes
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5bfd28f5cdf6ef41a08b7bfe2003aa9cc7914af1">5bfd28f5</a></strong>
<div>
<span>by Oleg Grenrus</span>
<i>at 2019-05-29T14:37:54Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix some warnings in users_guide (incl #16640)

- short underline
- :ghc-flag:, not :ghc-flags:
- :since: have to be separate
- newline before code block
- workaround anchor generation so

    - pragma:SPECIALISE
    - pragma:SPECIALIZE-INLINE
    - pragma:SPECIALIZE-inline

  are different anchors, not all the same `pragma:SPECIALIZE`
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a5b14ad4764c5596331dd5a0abf0b0f6df6b0053">a5b14ad4</a></strong>
<div>
<span>by Kevin Buhr</span>
<i>at 2019-05-29T14:38:30Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add test for old issue displaying unboxed tuples in error messages (#502)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/f9d61ebbf4bba7862ae53c69b0f7116423b8f6d1">f9d61ebb</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2019-05-29T14:39:05Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">In hole fits, don't show VTA for inferred variables (#16456)

We fetch the ArgFlag for every argument by using splitForAllVarBndrs
instead of splitForAllTys in unwrapTypeVars.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/69b1633104a43d5654e65f2c05fa6b73775936e2">69b16331</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2019-05-29T14:39:43Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix missing unboxed tuple RuntimeReps (#16565)

Unboxed tuples and sums take extra RuntimeRep arguments,
which must be manually passed in a few places.
This was not done in deSugar/Check.

This error was hidden because zipping functions in TyCoRep
ignored lists with mismatching length. This is now fixed;
the lengths are now checked by calling zipEqual.

As suggested in #16565, I moved checking for isTyVar and
isCoVar to zipTyEnv and zipCoEnv.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/9062b62555ced7403cb97f5fd55cffdd57fbf717">9062b625</a></strong>
<div>
<span>by Nathan Collins</span>
<i>at 2019-05-29T14:40:21Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Don't lose parentheses in show SomeAsyncException</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/cc0d05a78c3c731c771aaadd29c2c5c8d772d619">cc0d05a7</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-29T14:41:02Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add hPutStringBuffer utility
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5b90e0a173f69c9babb3201f62cd5096798c5240">5b90e0a1</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-29T14:41:02Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Allow using tagetContents for modules needing preprocessing

This allows GHC API clients, most notably tooling such as
Haskell-IDE-Engine, to pass unsaved files to GHC more easily.

Currently when targetContents is used but the module requires preprocessing
'preprocessFile' simply throws an error because the pipeline does not
support passing a buffer.

This change extends `runPipeline` to allow passing the input buffer into
the pipeline. Before proceeding with the actual pipeline loop the input
buffer is immediately written out to a new tempfile.

I briefly considered refactoring the pipeline at large to pass around
in-memory buffers instead of files, but this seems needlessly complicated
since no pipeline stages other than Hsc could really support this at the
moment.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/fb26d46754564bfacda98618d86d3ee4eda1fcf2">fb26d467</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-05-29T14:41:02Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">downsweep: Allow TargetFile not to exist when a buffer is given

Currently 'getRootSummary' will fail with an exception if a 'TargetFile' is
given but it does not exist even if an input buffer is passed along for
this target.

In this case it is not necessary for the file to exist since the buffer
will be used as input for the compilation pipeline instead of the file
anyways.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4d51e0d80f02483e86f4ad3bae47dcb3311def6b">4d51e0d8</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2019-05-29T14:41:44Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">CNF.c: Move debug functions behind ifdef
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/ae968d419d861dcc01cd5d45e96dc86e16c363c5">ae968d41</a></strong>
<div>
<span>by Vladislav Zavialov</span>
<i>at 2019-05-29T14:42:20Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">tcMatchesFun s/rho/sigma #16692
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/2d2aa2031b9abc3bff7b5585ab4201948c8bba7d">2d2aa203</a></strong>
<div>
<span>by Josh Meredith</span>
<i>at 2019-05-29T14:43:03Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Provide details in `plusSimplCount` errors
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/f8628e7caa84aa55f82661e646c3a7101877a729">f8628e7c</a></strong>
<div>
<span>by John Ericson</span>
<i>at 2019-05-29T15:06:31Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Break up `Settings` into smaller structs

As far as I can tell, the fields within `Settings` aren't *intrinsicly*
related. They just happen to be initialized the same way (in particular
prior to the rest of `DynFlags`), and that is why they are grouped
together.

Within `Settings`, however, there are groups of settings that clearly do
share something in common, regardless of how they anything is
initialized.

In the spirit of GHC being a library, where the end cosumer may choose
to initialize this configuration in arbitrary ways, I made some new data
types for thoses groups internal to `Settings`, and used them to define
`Settings` instead. Hopefully this is a baby step towards a general
decoupling of the stateful and stateless parts of GHC.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e56fd6ea0697f27257c2ff2368f5e20764a11e6f">e56fd6ea</a></strong>
<div>
<span>by John Ericson</span>
<i>at 2019-05-29T15:06:31Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Inline `Settings` into `DynFlags`

After the previous commit, `Settings` is just a thin wrapper around
other groups of settings. While `Settings` is used by GHC-the-executable
to initalize `DynFlags`, in principle another consumer of
GHC-the-library could initialize `DynFlags` a different way. It
therefore doesn't make sense for `DynFlags` itself (library code) to
separate the settings that typically come from `Settings` from the
settings that typically don't.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/bf67d9e6e652d35d6042a54205997219d8c21663">bf67d9e6</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2019-05-29T15:06:37Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: Add note about Libffi's Indicating Inputs #16653

[skip ci]
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#db6936871693fa68c3fdcbd692eb7dcffc3a9372">
compiler/cmm/CLabel.hs
</a>
</li>
<li class="file-stats">
<a href="#8131b096a76ab4cb878cbed760d2810c8d6e8d75">
compiler/cmm/CmmInfo.hs
</a>
</li>
<li class="file-stats">
<a href="#d50336124f51fb97043e81d9968bd8f97ee870f4">
compiler/cmm/CmmType.hs
</a>
</li>
<li class="file-stats">
<a href="#bd37d71fa68b0980d832d992b427fd6a6bdb891d">
compiler/deSugar/Check.hs
</a>
</li>
<li class="file-stats">
<a href="#cf5b233b6ec5c0a6951d1018fee507d2d2d71391">
compiler/deSugar/DsForeign.hs
</a>
</li>
<li class="file-stats">
<a href="#0f33fd88c617246c7f89c4477d2d1d24f942df23">
compiler/ghc.cabal.in
</a>
</li>
<li class="file-stats">
<a href="#47f4bea1d308dee249030e6063d92071b5aac240">
compiler/ghci/Linker.hs
</a>
</li>
<li class="file-stats">
<a href="#b5f5d4367f2d884e98f96ecd7407a49be6259180">
<span class="new-file">
+
compiler/main/CliOption.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#79d13a50aec150ad44c00c7417f2c683cd47468a">
compiler/main/CodeOutput.hs
</a>
</li>
<li class="file-stats">
<a href="#72690aad4036dea6e6e116c30e4d7582f5077db7">
compiler/main/DriverPipeline.hs
</a>
</li>
<li class="file-stats">
<a href="#11e9bfd841c4163c1919b5e07efc84740e02010f">
compiler/main/DynFlags.hs
</a>
</li>
<li class="file-stats">
<a href="#e3edbf51537f762215922ef2456615375c267fd4">
<span class="new-file">
+
compiler/main/FileSettings.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#b5c3aab16d766666149eb971c126ff3cfc4eccf6">
compiler/main/GhcMake.hs
</a>
</li>
<li class="file-stats">
<a href="#b00a3dfd160e9a808dda3a6390b261df2efb859a">
<span class="new-file">
+
compiler/main/GhcNameVersion.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#a7d05a7194ce9665362b8cb2a6e3cb5bd39f2965">
compiler/main/HscTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#e2d33310ae2b794523e977e3f2b48d7e1aafccae">
<span class="new-file">
+
compiler/main/Settings.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#63c9d6e17d26bbb7f2d71094f5ffa2c67769ada0">
compiler/main/SysTools.hs
</a>
</li>
<li class="file-stats">
<a href="#07ea27ca7b67f1025ae874e03f39c55610b0bb58">
<span class="new-file">
+
compiler/main/ToolSettings.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#50402e2a64c9aa60a1a76e237271322d2f6325dc">
compiler/simplCore/CoreMonad.hs
</a>
</li>
<li class="file-stats">
<a href="#39f28d5dc8c176ea580515ffbadb8250289f1b7d">
compiler/typecheck/TcHoleErrors.hs
</a>
</li>
<li class="file-stats">
<a href="#ba224db1ea87f93255684c230e685bc4312e8163">
compiler/typecheck/TcMatches.hs
</a>
</li>
<li class="file-stats">
<a href="#479ee43cbd0be73a28501711f4f4500873f83e79">
compiler/typecheck/TcMatches.hs-boot
</a>
</li>
<li class="file-stats">
<a href="#88310e11ff3891efda62ffaa54c2830f1b147778">
compiler/types/TyCoRep.hs
</a>
</li>
<li class="file-stats">
<a href="#02ab52057b25cd107220549e7027dd4c9a6ba32c">
compiler/types/TyCon.hs
</a>
</li>
<li class="file-stats">
<a href="#118eed6a089b3f26b0caaf2a159491b42934c658">
compiler/utils/Platform.hs
</a>
</li>
<li class="file-stats">
<a href="#2415d91dffced59eb3596f10cf763b89f7fbce62">
compiler/utils/StringBuffer.hs
</a>
</li>
<li class="file-stats">
<a href="#7dc313da4c00f2541cb5e519a5e4a0eac7751a2a">
compiler/utils/Util.hs
</a>
</li>
<li class="file-stats">
<a href="#d6904e295957d55c64f4949aa3b54695dd57dd76">
docs/users_guide/8.10.1-notes.rst
</a>
</li>
<li class="file-stats">
<a href="#d3190c417a8463b8454caaad45c42e09c9aed596">
<span class="deleted-file">

docs/users_guide/8.2.1-notes.rst
</span>
</a>
</li>
<li class="file-stats">
<a href="#04359c28c9e4de11d44a0c6ab10e9245d68ee640">
docs/users_guide/bugs.rst
</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/4723e2499830bee0efbf356ff59d6774d9c812db...bf67d9e6e652d35d6042a54205997219d8c21663">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>