<!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=utf-8" 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/document-package-env
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/33173a51c77d9960d5009576ad9b67b646dfda3c">33173a51</a></strong>
<div>
<span>by Alexandre</span>
<i>at 2019-04-01T07:32:28Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">    Add support for bitreverse primop

    This commit includes the necessary changes in code and
    documentation to support a primop that reverses a word's
    bits. It also includes a test.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a3971b4e8cb2f07387fbc165d46cd861a914c193">a3971b4e</a></strong>
<div>
<span>by Alexandre</span>
<i>at 2019-04-01T07:32:28Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Bump ghc-prim's version where needed
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/061276ea5d265eb3c23a3698f0a10f6a764ff4b4">061276ea</a></strong>
<div>
<span>by Michael Sloan</span>
<i>at 2019-04-01T07:32:30Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove unnecessary uses of UnboxedTuples pragma (see #13101 / #15454)

Also removes a couple unnecessary MagicHash pragmas
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e468c61333205cc89244acc01432c8493cb06d62">e468c613</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2019-04-01T07:32:34Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Support Shake's --lint-fsatrace feature.

Using this feature requires fsatrace (e.g. https://github.com/jacereda/fsatrace).
Simply use the `--lint-fsatrace` option when running hadrian.
Shake version >= 0.17.7 is required to support linting out of tree build dirs.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1e9e4197f1a8b6b53483bd984d241b0f2922a5bf">1e9e4197</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-01T07:32:34Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab: Add merge request template for backports for 8.8
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/55650d147bce7cd005327ebd5807fe2851a4e2e1">55650d14</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-01T07:32:34Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab: Add some simply issue templates
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/27b99ed8ede3d54932a432402de7dc43d1445f8f">27b99ed8</a></strong>
<div>
<span>by Takenobu Tani</span>
<i>at 2019-04-01T07:32:36Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Clean up URLs to point to GitLab

This moves URL references to old Trac to their corresponding
GitLab counterparts.

This patch does not update the submodule library, such as
libraries/Cabal.

See also !539, !606, !618

[ci skip]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/18d1555d6e8d8988bcf19a4411a9ff432898282e">18d1555d</a></strong>
<div>
<span>by Adam Sandberg Eriksson</span>
<i>at 2019-04-01T07:32:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">configure: document the use of the LD variable
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/10352efa453810b7b49be475cd2ebf3c2fc0cd61">10352efa</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-01T22:22:34Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab: Add feature request MR template
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1e52054bab20f28c7447fe80dad5353e71cea774">1e52054b</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-01T23:16:21Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab: Move feature request template to issue_templates

Whoops.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e5c21ca9dfcd7ff3b382f557a91c50c0a45e4330">e5c21ca9</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-01T23:16:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab: Mention ~"user facing" label
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/39282422afe58a0855c2fe5315163236c116c2f4">39282422</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2019-04-02T00:01:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Bump array submodule

This bumps `array` to version 0.5.4.0 so that we can distinguish
it with `MIN_VERSION_array` (as it introduces some changes to the
`Show` instance for `UArray`).
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/7cf5ba3dba88356571197b470556e888581212d7">7cf5ba3d</a></strong>
<div>
<span>by Michal Terepeta</span>
<i>at 2019-04-02T00:07:49Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Improve performance of newSmallArray#

This:
- Hoists part of the condition outside of the initialization loop in
  `stg_newSmallArrayzh`.
- Annotates one of the unlikely branches as unlikely, also in
  `stg_newSmallArrayzh`.
- Adds a couple of annotations to `allocateMightFail` indicating which
  branches are likely to be taken.

Together this gives about 5% improvement.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/dd9c82ef38e87ede01d81907c5037845f2944435">dd9c82ef</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2019-04-02T00:13:55Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: correct deps for ghc builder.

Previously, when needing ghc as a builder, the ghcDeps (Files
the GHC binary depends on) for the current stage were needed.
This is incorrect as the previous stage's ghc is used for building.
This commit fixes the issue, needing the previous stage's ghcDeps.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/345306d3fa5e84de8b6783c0bc70cf3ba5ecd2b7">345306d3</a></strong>
<div>
<span>by Alexandre Baldé</span>
<i>at 2019-04-02T16:34:30Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix formatting issue in ghc-prim's changelog [skip ci]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/f54b5124bd449dd0d818725a5797e7aa9d9e9eba">f54b5124</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2019-04-02T16:40:39Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: traceAllow deep dependencies when compilling haskell object files.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/d132b30ad7ee73606c745ad7e0b81383eea69d0a">d132b30a</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2019-04-02T16:40:39Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: lint ignore autom4te and ghc-pkg cache files.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/bf73419518ca550e85188616f860961c7e2a336b">bf734195</a></strong>
<div>
<span>by Simon Marlow</span>
<i>at 2019-04-02T16:46:46Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add myself to libraries/ghci</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5a75ccd0993ff2fdf827824e28ae7db4ad9c25ad">5a75ccd0</a></strong>
<div>
<span>by klebinger.andreas@gmx.at</span>
<i>at 2019-04-03T04:34:57Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix faulty substitutions in StgCse (#11532).

`substBndr` should rename bindings which shadow existing ids.
However while it was renaming the bindings it was not adding proper substitutions
for renamed bindings.
Instead of adding a substitution of the form `old -> new` for renamed
bindings it mistakenly added `old -> old` if no replacement had taken
place while adding none if `old` had been renamed.

As a byproduct this should improve performance, as we no longer add
useless substitutions for unshadowed bindings.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/2ec749b5994aef0eff9185ad2985bfa847cec021">2ec749b5</a></strong>
<div>
<span>by Nathan Collins</span>
<i>at 2019-04-03T04:41:05Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">users-guide: Fix typo
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/ea192a0932c6a95d7854e86f743c11249af23ded">ea192a09</a></strong>
<div>
<span>by Andrew Martin</span>
<i>at 2019-04-03T04:41:05Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">base: Add documentation that liftA2 used to not be a typeclass method
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/733f1b52448e5ddd5f3f0d218050f5f22a707b5e">733f1b52</a></strong>
<div>
<span>by Frank Steffahn</span>
<i>at 2019-04-03T04:41:05Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">users-guide: Typo in Users Guide, Glasgow Exts
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/3364def0a28d8b888f558cb9fdab379685636854">3364def0</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-03T04:41:05Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">integer-gmp: Write friendlier documentation for Integer
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/dd3a3d08e99114b791f5d1ef9218d922cdfd90e0">dd3a3d08</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-03T04:41:05Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">integer-simple: Add documentation for Integer type
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/722fdddf31932236d4246821cb79987fa9422a7e">722fdddf</a></strong>
<div>
<span>by Chris Martin</span>
<i>at 2019-04-03T04:41:05Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Correct two misspellings of "separately"
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/bf6dbe3d1046573cb71fd534a326a9a0e6f1b220">bf6dbe3d</a></strong>
<div>
<span>by Chris Martin</span>
<i>at 2019-04-03T04:41:05Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Inline the definition of 'ap' in the Monad laws

The law as it is currently written is meaningless, because nowhere have
we defined the implementation of 'ap'. The reader of the Control.Monad
documentation is provided with only a type signature,

> ap :: Monad m => m (a -> b) -> m a -> m b

an informal description,

> In many situations, the liftM operations can be replaced by uses of
> ap, which promotes function application.

and a relationship between 'ap' and the 'liftM' functions

> return f `ap` x1 `ap` ... `ap` xn
> is equivalent to
> liftMn f x1 x2 ... xn

Without knowing how 'ap' is defined, a law involving 'ap' cannot
provide any guidance for how to write a lawful Monad instance, nor can
we conclude anything from the law.

I suspect that a reader equipped with the understanding that 'ap' was
defined prior to the invention of the Applicative class could deduce
that 'ap' must be defined in terms of (>>=), but nowhere as far as I can
tell have we written this down explicitly for readers without the
benefit of historical context.

If the law is meant to express a relationship among (<*>), (>>=), and
'return', it seems that it is better off making this statement directly,
sidestepping 'ap' altogether.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/7b090b53fea065d2cfd967ea919426af9ba8d737">7b090b53</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-03T07:57:40Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">configure: Always use AC_LINK_ELSEIF when testing against assembler

This fixes #16440, where the build system incorrectly concluded that the
`.subsections_via_symbols` assembler directive was supported on a Linux
system. This was caused by the fact that gcc was invoked with `-flto`;
when so-configured gcc does not call the assembler but rather simply
serialises its AST for compilation during the final link.

This is described in Note [autoconf assembler checks and -flto].
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4626cf213fe7affe5f8c2d94dbf03e727c816694">4626cf21</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2019-04-03T08:03:47Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix Uncovered set of literal patterns

Issues #16289 and #15713 are proof that the pattern match checker did
an unsound job of estimating the value set abstraction corresponding to
the uncovered set.

The reason is that the fix from #11303 introducing `NLit` was
incomplete: The `LitCon` case desugared to `Var` rather than `LitVar`,
which would have done the necessary case splitting analogous to the
`ConVar` case.

This patch rectifies that by introducing the fresh unification variable
in `LitCon` in value abstraction position rather than pattern postition,
recording a constraint equating it to the constructor expression rather
than the literal. Fixes #16289 and #15713.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/6f13e7b13de361f0813a8752a7279ec3c1383755">6f13e7b1</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-03T12:12:26Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Build hyperlinked sources for releases

Fixes #16445.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/895394c26156993a9405039fe53fde3a6b1414b7">895394c2</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-03T12:15:06Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab: Fix label names in issue templates
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/75abaaead796415cf2b5da610f4b3ee75b9d7759">75abaaea</a></strong>
<div>
<span>by Yuriy Syrovetskiy</span>
<i>at 2019-04-04T08:23:19Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Replace git.haskell.org with gitlab.haskell.org (#16196)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/25c02ea172ef1dad2d12d8baff6ce57a68bf4127">25c02ea1</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2019-04-04T08:29:29Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix #16518 with some more kind-splitting smarts

This patch corrects two simple oversights that led to #16518:

1. `HsUtils.typeToLHsType` was taking visibility into account in the
   `TyConApp` case, but not the `AppTy` case. I've factored out the
   visibility-related logic into its own `go_app` function and now
   invoke `go_app` from both the `TyConApp` and `AppTy` cases.
2. `Type.fun_kind_arg_flags` did not properly split kinds with
   nested `forall`s, such as
   `(forall k. k -> Type) -> (forall k. k -> Type)`. This was simply
   because `fun_kind_arg_flags`'s `FunTy` case always bailed out and
   assumed all subsequent arguments were `Required`, which clearly
   isn't the case for nested `forall`s. I tweaked the `FunTy` case
   to recur on the result kind.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/51fd357119b357c52e990ccce9059c423cc49406">51fd3571</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2019-04-04T08:35:39Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use funPrec, not topPrec, to parenthesize GADT argument types

A simple oversight. Fixes #16527.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/6c0dd085c16bad20f6604ce608df6db275d6bca9">6c0dd085</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-04T12:12:24Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add testcase for #16111
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/cbb8886560e63b662f50965cc96efafa8dd6875a">cbb88865</a></strong>
<div>
<span>by klebinger.andreas@gmx.at</span>
<i>at 2019-04-04T12:12:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Restore Xmm registers properly in StgCRun.c

This fixes #16514: Xmm6-15 was restored based off rax instead of rsp.
The code was introduced in the fix for #14619.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/33b0a291898b6a35d822fde59864c5c94a53d039">33b0a291</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2019-04-04T12:12:28Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Tweak error messages for narrowly-kinded assoc default decls

This program, from #13971, currently has a rather confusing error
message:

```hs
class C a where
  type T a :: k
  type T a = Int
```
```
    • Kind mis-match on LHS of default declaration for ‘T’
    • In the default type instance declaration for ‘T’
      In the class declaration for ‘C’
```

It's not at all obvious why GHC is complaining about the LHS until
you realize that the default, when printed with
`-fprint-explicit-kinds`, is actually `type T @{k} @* a = Int`.
That is to say, the kind of `a` is being instantiated to `Type`,
whereas it ought to be a kind variable. The primary thrust of this
patch is to weak the error message to make this connection
more obvious:

```
    • Illegal argument ‘*’ in:
        ‘type T @{k} @* a = Int’
        The arguments to ‘T’ must all be type variables
    • In the default type instance declaration for ‘T’
      In the class declaration for ‘C’
```

Along the way, I performed some code cleanup suggested by @rae in
https://gitlab.haskell.org/ghc/ghc/issues/13971#note_191287. Before,
we were creating a substitution from the default declaration's type
variables to the type family tycon's type variables by way of
`tcMatchTys`. But this is overkill, since we already know (from the
aforementioned validity checking) that all the arguments in a default
declaration must be type variables anyway. Therefore, creating the
substitution is as simple as using `zipTvSubst`. I took the
opportunity to perform this refactoring while I was in town.

Fixes #13971.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/3a38ea4487173f0f8e3693a75d1c5c7d33f12f05">3a38ea44</a></strong>
<div>
<span>by Eric Crockett</span>
<i>at 2019-04-07T19:21:59Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix #16282.

Previously, -W(all-)missed-specs was created with 'NoReason',
so no information about the flag was printed along with the warning.
Now, -Wall-missed-specs is listed as the Reason if it was set,
otherwise -Wmissed-specs is listed as the reason.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/63b7d5fb9d695dafc243cbf6f9f70b06030c0dea">63b7d5fb</a></strong>
<div>
<span>by Michal Terepeta</span>
<i>at 2019-04-08T18:29:34Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Generate straightline code for inline array allocation

GHC has an optimization for allocating arrays when the size is
statically known -- it'll generate the code allocating and initializing
the array inline (instead of a call to a procedure from
`rts/PrimOps.cmm`).

However, the generated code uses a loop to do the initialization. Since
we already check that the requested size is small (we check against
`maxInlineAllocSize`), we can generate faster straightline code instead.
This brings about 15% improvement for `newSmallArray#` in my testing and
slightly simplifies the code in GHC.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/2b3f4718502465e2b4dfa4a7868ed7a3ad5e4ff1">2b3f4718</a></strong>
<div>
<span>by Phuong Trinh</span>
<i>at 2019-04-08T18:35:43Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix #16500: look for interface files in -hidir flag in OneShot mode

We are currently ignoring options set in the hiDir field of hsc_dflags
when looking for interface files while compiling in OneShot mode. This
is inconsistent with the behaviour of other directory redirecting fields
(such as objectDir or hieDir). It is also inconsistent with the
behaviour of compilation in CompManager mode (a.k.a `ghc --make`) which
looks for interface files in the directory set in hidir flag. This
changes Finder.hs so that we use the value of hiDir while looking for
interface in OneShot mode.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/97502be8bda9199ac058b9677b4b6ba028022936">97502be8</a></strong>
<div>
<span>by Yuriy Syrovetskiy</span>
<i>at 2019-04-08T18:41:51Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add `-optcxx` option (#16477)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/97d3d546e6f03977a9cbe7d5499bb66510411468">97d3d546</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-08T18:47:54Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Unmark T16190 as broken

Was broken via #16389 yet strangely it has started passing despite the
fact that the suggested root cause has not changed.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a42d206a76e03b4cd831aa7bc72c6d4a0f124bd1">a42d206a</a></strong>
<div>
<span>by Yuriy Syrovetskiy</span>
<i>at 2019-04-08T18:54:02Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix whitespace style
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4dda2270d26017eadddd99ed567aacf41c2913b9">4dda2270</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2019-04-08T19:00:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use ./hadrian/ghci.sh in .ghcid
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/d236d9d0f4f3be0641933b959dde14a065acd37f">d236d9d0</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2019-04-08T19:06:15Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Make `singleConstructor` cope with pattern synonyms

Previously, `singleConstructor` didn't handle singleton `COMPLETE` sets
of a single pattern synonym, resulting in incomplete pattern warnings
in #15753.

This is fixed by making `singleConstructor` (now named
`singleMatchConstructor`) query `allCompleteMatches`, necessarily making
it effectful. As a result, most of this patch is concerned with
threading the side-effect through to `singleMatchConstructor`.

Unfortunately, this is not enough to completely fix the original
reproduction from #15753 and #15884, which are related to function
applications in pattern guards being translated too conservatively.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1085090e83bbf2a7dbb1b9a2e9023f3500538930">1085090e</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2019-04-08T19:12:22Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Skip test ArithInt16 and ArithWord16 in GHCi way

These tests use unboxed tuples, which GHCi doesn't support
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/7287bb9ea51251441bc8caca2894549ab34fbcb3">7287bb9e</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2019-04-08T19:18:33Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Show exit code of GHCi tests on failure
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/f5604d3709d015f4085843a92298af3e53c08d36">f5604d37</a></strong>
<div>
<span>by John Ericson</span>
<i>at 2019-04-08T19:24:43Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">settings.in: Reformat

We're might be about to switch to generating it in Hadrian/Make. This
reformat makes it easier to programmingmatically generate and end up
with the exact same thing, which is good for diffing to ensure no
regressions.

I had this as part of !712, but given the difficulty of satisfying CI, I
figured I should break things up even further.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/cf9e1837adc647c90cfa176669d14e0d413c043d">cf9e1837</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2019-04-08T19:30:51Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Bump hpc submodule

Currently, the `hpc` submodule is pinned against the `wip/final-mfp`
branch, not against `master`. This pins it back against `master`.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/36d380475d9056fdf93305985be3def00aaf6cf7">36d38047</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-09T14:23:47Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">users-guide: Document how to disable package environments

As noted in #16309 this somehow went undocumented.
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#03615ac1622815b67e9829de1c43ac90fa6d8068">
.ghcid
</a>
</li>
<li class="file-stats">
<a href="#587d266bb27a4dc3022bbed44dfa19849df3044c">
.gitlab-ci.yml
</a>
</li>
<li class="file-stats">
<a href="#0da1179aab31cf22c6b68d3bbbe5165f8c8f73fd">
<span class="new-file">
+
.gitlab/issue_templates/bug.md
</span>
</a>
</li>
<li class="file-stats">
<a href="#70424f3e889c476809536f20e5ea251264077eca">
<span class="new-file">
+
.gitlab/issue_templates/feature_request.md
</span>
</a>
</li>
<li class="file-stats">
<a href="#4dd1dc0abc990333ed932ef4087febfc97d3c4f9">
<span class="new-file">
+
.gitlab/merge_request_templates/backport-for-8.8.md
</span>
</a>
</li>
<li class="file-stats">
<a href="#b25b374c2459de3e2aaed42163f492c8b8614385">
.gitlab/merge_request_templates/merge-request.md
</a>
</li>
<li class="file-stats">
<a href="#b1f70e577fa0a01f44737b27f60defa4c87c49e3">
ANNOUNCE
</a>
</li>
<li class="file-stats">
<a href="#abe895765c4ce08c5dfbc95e5e3c5db67ff92ded">
CODEOWNERS
</a>
</li>
<li class="file-stats">
<a href="#0c39c6a7c54e5d668d208665d6e5ccecdd3bb246">
HACKING.md
</a>
</li>
<li class="file-stats">
<a href="#8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d">
README.md
</a>
</li>
<li class="file-stats">
<a href="#9ab3868b23ed5d5a6e12ef902049902556fa4009">
aclocal.m4
</a>
</li>
<li class="file-stats">
<a href="#5c73b0c6f476ded38de389f894770f06f4d02b2f">
boot
</a>
</li>
<li class="file-stats">
<a href="#6baddca1d1d357c81c329f9a5877a1772b0086e9">
compiler/cmm/CmmMachOp.hs
</a>
</li>
<li class="file-stats">
<a href="#61470c7221010080ec380a45874259d0ed73da4a">
compiler/cmm/PprC.hs
</a>
</li>
<li class="file-stats">
<a href="#b9c97a47b4d7d9443a2b066938a6e4433cf11c86">
compiler/codeGen/StgCmmMonad.hs
</a>
</li>
<li class="file-stats">
<a href="#731b07c16b2f4bb31dd7defa4ceef54e74473cc7">
compiler/codeGen/StgCmmPrim.hs
</a>
</li>
<li class="file-stats">
<a href="#bd37d71fa68b0980d832d992b427fd6a6bdb891d">
compiler/deSugar/Check.hs
</a>
</li>
<li class="file-stats">
<a href="#379674a5063221cec43f0f659c2eb67b30339f45">
compiler/deSugar/TmOracle.hs
</a>
</li>
<li class="file-stats">
<a href="#78d03dfd32f676836003058b78ec026568dad5e9">
compiler/ghci/ByteCodeLink.hs
</a>
</li>
<li class="file-stats">
<a href="#9d5d4827271e4d5e2f54fe04160bd175fd60bf54">
compiler/ghci/RtClosureInspect.hs
</a>
</li>
<li class="file-stats">
<a href="#28c051307439bf9d329b194a82b4eb92928d4e99">
compiler/hsSyn/HsUtils.hs
</a>
</li>
<li class="file-stats">
<a href="#09d8bceab47b805883c4f6a95dcc944b6aa989af">
compiler/iface/IfaceSyn.hs
</a>
</li>
<li class="file-stats">
<a href="#d466b592cd08fa40441c89d4d2d4c15618d15465">
compiler/llvmGen/LlvmCodeGen/CodeGen.hs
</a>
</li>
<li class="file-stats">
<a href="#0b786457b007c51108f80d6a03e3850281d3fa52">
compiler/main/DriverPhases.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="#b0bba1596a6b3a24eddc0a21c5ccb2ea48a655e5">
compiler/main/Finder.hs
</a>
</li>
<li class="file-stats">
<a href="#a7d05a7194ce9665362b8cb2a6e3cb5bd39f2965">
compiler/main/HscTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#6bafdfb7a5cd7d70cb64f09f197c29291aa0f6b9">
compiler/main/InteractiveEval.hs
</a>
</li>
<li class="file-stats">
<a href="#63c9d6e17d26bbb7f2d71094f5ffa2c67769ada0">
compiler/main/SysTools.hs
</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/8862a9cba94dca5c366b08bfd56532b824a58b77...36d380475d9056fdf93305985be3def00aaf6cf7">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>