<!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>
Ben Gamari pushed to branch wip/T16741
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/286827be471f9efa67303d57b979e0c32cb8936e">286827be</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2019-06-04T05:09:05Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">TestRunner: Added --chart to display a chart of performance tests

This uses the Chart.js javascript library.
Everything is put into a standalone .html file and opened with the
default browser.
I also simplified the text output to use the same data as the chart.
You can now use a commit range with git's ".." syntax.
The --ci option will use results from CI (you'll need to fetch them
first):

  $ git fetch https://gitlab.haskell.org/ghc/ghc-performance-notes.git refs/notes/perf:refs/notes/ci/perf
  $ python3 testsuite/driver/perf_notes.py --ci --chart --test-env x86_64-darwin --test-name T9630 master~500..master
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/db78ac6f5d69618ff143ab4b572e7f58a1805687">db78ac6f</a></strong>
<div>
<span>by Andrew Martin</span>
<i>at 2019-06-04T05:09:43Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use a better strategy for determining the offset applied to foreign function arguments that have an unlifted boxed type. We used to use the type of the argument. We now use the type of the foreign function. Add a test to confirm that the roundtrip conversion between an unlifted boxed type and Any is sound in the presence of a foreign function call.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/114b014f7ed346727241c78ef3e0bf965d94edfc">114b014f</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-06-04T05:10:20Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: fix OSX build failure and add an OSX/Hadrian CI job

The OSX build failure introduced in 3aa71a22 was due to a change in the
glob we use to collect libffi shared libraries in hadrian/src/Rules/Libffi.hs.
This commit fixes the problem and adds an OSX CI job that builds GHC with
Hadrian, to make sure we don't break it again.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/002594b731c40334b33eb883275e9c274c68e9ac">002594b7</a></strong>
<div>
<span>by Xavier Denis</span>
<i>at 2019-06-04T18:41:29Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add GHCi :instances command

This commit adds the `:instances` command to ghci following proosal
number 41.

This makes it possible to query which instances are available to a given
type.

The output of this command is all the possible instances with type
variables and constraints instantiated.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/3ecc03df3b7777ecb40fbbbb2d6d7c2b98676d1c">3ecc03df</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-04T18:42:04Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Run bindisttest during CI
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/c16f3297401f8f1f0f5d289867725ad185ac5a40">c16f3297</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-04T18:42:04Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">make: Fix bindist installation

This fixes a few vestigial references to `settings` left over from !655.
Fixes #16715.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/ba4e3934abc82e0ba2bec51842315819910d1018">ba4e3934</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-06-04T18:43:17Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: profiling and debug enabled ways support -eventlog too
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/567894b49b9e8f5ced2d0e5f051f2a1d5c9f13e2">567894b4</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2019-06-07T08:36:32Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Disable darwin hadrian job

See #16771

We don't have enough capacity for the two jobs currently.

[skip ci]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/d3915b304f297b8a2534f6abf9c2984837792921">d3915b30</a></strong>
<div>
<span>by Andrew Martin</span>
<i>at 2019-06-07T14:20:42Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">[skip ci] Improve the documentation of the CNF primops. In this context, the term "size" is ambiguous and is now avoided. Additionally, the distinction between a CNF and the blocks that comprise it has been emphasize. The vocabulary has been made more consistent with the vocabulary in the C source for CNF.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e963beb54a243f011396942d2add644e3f3dd8ae">e963beb5</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2019-06-07T14:21:21Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">TmOracle: Replace negative term equalities by refutable PmAltCons

The `PmExprEq` business was a huge hack and was at the same time vastly
too powerful and not powerful enough to encode negative term equalities,
i.e. facts of the form "forall y. x ≁ Just y".

This patch introduces the concept of 'refutable shapes': What matters
for the pattern match checker is being able to encode knowledge of the
kind "x can no longer be the literal 5". We encode this knowledge in a
`PmRefutEnv`, mapping a set of newly introduced `PmAltCon`s (which are
just `PmLit`s at the moment) to each variable denoting above
inequalities.

So, say we have `x ≁ 42 ∈ refuts` in the term oracle context and
try to solve an equality like `x ~ 42`. The entry in the refutable
environment will immediately lead to a contradiction.

This machinery renders the whole `PmExprEq` and `ComplexEq` business
unnecessary, getting rid of a lot of (mostly dead) code.

See the Note [Refutable shapes] in TmOracle for a place to start.

Metric Decrease:
    T11195
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/0b7372f68c0bc9cafc30e227b574abf1d5b16df5">0b7372f6</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2019-06-07T14:21:57Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add HEAP_PROF_SAMPLE_END event to mark end of samples

This allows a user to observe how long a sampling period lasts so that
the time taken can be removed from the profiling output.

Fixes #16697
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/d1dc0ed75be0dafb0be3b4ff5e839612702eab47">d1dc0ed7</a></strong>
<div>
<span>by Roland Senn</span>
<i>at 2019-06-07T14:22:47Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix #16700: Tiny errors in output of GHCi commands :forward and :info

`:info Coercible` now outputs the correct section number of the GHCi User's guide together with the secion title.

`:forward x` gives the correct syntax hint.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/387050d0e26a9e6466b31c9d8e4e4f6273c64c9e">387050d0</a></strong>
<div>
<span>by John Ericson</span>
<i>at 2019-06-07T14:23:23Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Factor out 'getLibDir' / 'getBaseDir' into a new GHC.BaseDir ghc-boot module

ghc-pkg and ghc already both needed this. I figure it is better to
deduplicate, especially seeing that changes to one (FreeBSD CPP) didn't
make it to the other.

Additionally in !1090 I make ghc-pkg look up the settings file, which
makes it use the top dir a bit more widely. If that lands, any
difference in the way they find the top dir would be more noticable.

That change also means sharing more code between ghc and ghc-package
(namely the settings file parsing code), so I'd think it better to get
off the slipperly slope of duplicating code now.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/da26ffe795f1861783c1b031ed93f9fa59550f85">da26ffe7</a></strong>
<div>
<span>by Simon Peyton Jones</span>
<i>at 2019-06-07T14:24:00Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Preserve ShadowInfo when rewriting evidence

When the canonicaliser rewrites evidence of a Wanted, it
should preserve the ShadowInfo (ctev_nosh) field.  That is,
a WDerive should rewrite to WDerive, and WOnly to WOnly.

Previously we were unconditionally making a WDeriv, thereby
rewriting WOnly to WDeriv.  This bit Nick Frisby (issue #16735)
in the context of his plugin, but we don't have a compact test
case.

The fix is simple, but does involve a bit more plumbing,
to pass the old ShadowInfo around, to use when building
the new Wanted.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/9bb58799d2ce58f6aef772df79ad26210403aded">9bb58799</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-07T14:24:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: Delete target symlink in createFileLinkUntracked

Previously createFileLinkUntracked would fail if the symlink already
existed.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/be63d2996308c77f8a0a44592074c98f66a80e93">be63d299</a></strong>
<div>
<span>by Simon Jakobi</span>
<i>at 2019-06-07T14:25:16Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix isValidNatural: The BigNat in NatJ# must have at least 2 limbs

Previously the `integer-gmp` variant of `isValidNatural` would fail to
detect values `<= maxBound::Word` that were incorrectly encoded using
the `NatJ#` constructor.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e87b9f8731460a7d8c0b45507be2d83935683d56">e87b9f87</a></strong>
<div>
<span>by Moritz Angermann</span>
<i>at 2019-06-07T14:26:04Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">llvm-targets: Add x86_64 android layout
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/60db142ba2928f159a0df6fd2a7c1839addf6206">60db142b</a></strong>
<div>
<span>by code5hot</span>
<i>at 2019-06-07T14:26:46Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Update Traversable.hs with a note about an intuitive law</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/f11aca52b1ea47b0e3c43c1ee7a5ec8c6d061714">f11aca52</a></strong>
<div>
<span>by code5hot</span>
<i>at 2019-06-07T14:26:46Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Used terminology from a paper. Added it as a reference.</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/13b3d45d308108da2d92b3c06b5489f41703e623">13b3d45d</a></strong>
<div>
<span>by code5hot</span>
<i>at 2019-06-07T14:26:46Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">remove backticks from markup - it doesn't mean what I think it means</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/cfd3e0f1cfd16c8f35cae139d2a871a32eb4d2e1">cfd3e0f1</a></strong>
<div>
<span>by Zejun Wu</span>
<i>at 2019-06-07T14:27:34Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Pass preprocessor options to C compiler when building foreign C files (#16737)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5991d877a3da69da63ab93ea277bd89965c97573">5991d877</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-07T14:28:09Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">base: Export Finalizers

As requested in #16750.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/3d97bad67ea64b7ee690c0a8836579bceef47cb5">3d97bad6</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-06-07T14:28:47Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: use deb9 Docker images instead of deb8 for CI jobs

This should fix #16739, where we seem to be getting extra carets in
a test's output because of the gcc that ships with the deb8 image,
whule we're not observing those extra carets in the deb9-based (Make)
jobs.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1afb499583f741a95cceb3207c5455c8ec6f5b87">1afb4995</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-07T14:29:23Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Create index.html in documentation deployment

Otherwise navigating to https://ghc.gitlab.haskell.org/ghc will result
in a 404.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/07dc79c3718a7080760105db180db2d904cf2394">07dc79c3</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2019-06-08T17:34:18Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Linters, don't allow to fail

Ben disabled them in cd85f8a71bb56cff332560e1d571b3406789fb71 but didn't
say how or why they were broken.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/fd840b64ec21d2d06e1e54ce525195c6773d3f17">fd840b64</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2019-06-08T17:34:18Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Don't run two submodule checking jobs on Marge jobs
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/310d0c4cbc2c847d24408bab92cdae0ed5cc4799">310d0c4c</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2019-06-08T17:34:18Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix two lint failures in rts/linker/MachO.c
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/fe9653160be3b025698be9a2a2141b2b87b8ef55">fe965316</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-08T17:34:18Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Use --unshallow when fetching for linters

GitLab creates a shallow clone. However, this means that we may not have
the base commit of an MR when linting, causing `git merge-base` to fail.
Fix this by passing `--unshallow` to `git fetch`, ensuring that we have
the entire history.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/f58234ea75112b1569e860e6a864d66509df381a">f58234ea</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-08T17:34:18Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Fix submodule linter

The job script didn't even try to compute the base commit to lint with
respect to.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/c392f987de174ae04c6c7c47145dfe5db6427615">c392f987</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-08T17:34:18Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: A few clarifying comments
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/709290b01c3c63137d863d6fdd97dabdfe47eb29">709290b0</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2019-06-08T17:38:15Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove trailing whitespace

[skip ci]

This should really be caught by the linters! (#16711)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/b2f106f5544e4c71bb07df4acb9d2b5ed184a7e3">b2f106f5</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-08T18:02:02Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Disable shallow clones

Previously we were passing `--unshallow` to `git fetch` in the linting
rules to ensure that the base commit which we were linting with respect
to was available. However, this breaks due to GitLab's re-use of
working directories since `git fetch --unshallow` fails on a repository
which is not currently shallow.

Given that `git fetch --unshallow` circumvents the efficiencies provided
by shallow clones anyways, let's just disable them entirely.

There is no documented way to do disable shallow clones but on checking
the GitLab implementation it seems that setting `GIT_DEPTH=0` should do
the trick.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4a72259d6dcc350d37a50064c18ffcafd03233be">4a72259d</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-08T18:40:55Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Fix submodule linting of commits

There is no notion of a base commit when we aren't checking a merge
request. Just check the HEAD commit.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/8754002973dcde8709458044e541ddc8f4fcf6bb">87540029</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-08T20:44:55Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Ensure that all commits on a branch are submodule-linted

The previous commit reworked things such that the submodule linter would
only run on the head commit. However, the linter only checks the
submodules which are touched by the commits it is asked to lint.
Consequently it would be possible for a bad submodule to sneak through.

Thankfully, we can use the handy CI_COMMIT_BEFORE_SHA attribute to
find the base commit of the push.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/0462b0e02d8759983484eb09d0ba1be134ec592e">0462b0e0</a></strong>
<div>
<span>by Alexandre Baldé</span>
<i>at 2019-06-09T15:48:34Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Explain that 'mappend' and '(<>)' should be the same [skip ci]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/970e480230bc8422d9bd9a6f1011def86befc34a">970e4802</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2019-06-09T15:49:09Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">hadrian: Properly partition options in sourceArgs

Previously if you build the `ghc` package then it would has the default
opts and the library opts. This is different behaviour to make where the
library opts are only reserved for things in the `libraries`
subdirectory (I believe)

Fixes #16716
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a018c3a84c88f6208e7bd5587af1cdf40c2ae991">a018c3a8</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-09T15:49:44Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Suppress ticks in T4918 output

As noted in #16741, this test otherwise breaks when `base` is compiled
with `-g`.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/f737033329817335bc01ab16a385b4b5ec5b3b5d">f7370333</a></strong>
<div>
<span>by chessai</span>
<i>at 2019-06-09T22:41:02Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Introduce log1p and expm1 primops

Previously log and exp were primitives yet log1p and expm1 were FFI
calls. Fix this non-uniformity.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/41bf4045c5a85651db8ceb631a1b67edec0c1216">41bf4045</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-09T22:41:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add test for #16514
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/b9fe91fce5cf5ab233ab48a64e6a49caf1beced3">b9fe91fc</a></strong>
<div>
<span>by Simon Jakobi</span>
<i>at 2019-06-09T22:42:21Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Small refactorings in ExtractDocs
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/9d238791862e8b128d397a1c0317986ea82ed000">9d238791</a></strong>
<div>
<span>by Kevin Buhr</span>
<i>at 2019-06-09T22:42:57Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Handle trailing path separator in package DB names (#16360)

Package DB directories with trailing separator (provided via
GHC_PACKAGE_PATH or via -package-db) resulted in incorrect calculation of
${pkgroot} substitution variable.  Keep the trailing separator while
resolving as directory or file, but remove it before dropping the last
path component with takeDirectory.

Closes #16360.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a22e51ea6f7a046c87d57ce30d143eef6abee9ff">a22e51ea</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2019-06-09T22:43:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix #16517 by bumping the TcLevel for method sigs

There were actually two bugs fixed here:

1. candidateQTyVarsOfType needs to be careful that it does not
   try to zap metavariables from an outer scope as "naughty"
   quantification candidates. This commit adds a simple check
   to avoid doing so.

2. We weren't bumping the TcLevel in kcHsKindSig, which was used
   only for class method sigs. This mistake led to the acceptance
   of

     class C a where
       meth :: forall k. Proxy (a :: k) -> ()

   Note that k is *locally* quantified. This patch fixes the
   problem by using tcClassSigType, which correctly bumps the
   level. It's a bit inefficient because tcClassSigType does other
   work, too, but it would be tedious to repeat much of the code
   there with only a few changes. This version works well and is
   simple.

And, while updating comments, etc., I noticed that tcRnType was
missing a pushTcLevel, leading to #16767, which this patch also
fixes, by bumping the level. In the refactoring here, I also
use solveEqualities. This initially failed ghci/scripts/T15415,
but that was fixed by teaching solveEqualities to respect
-XPartialTypeSignatures.

This patch also cleans up some Notes around error generation that
came up in conversation.

Test case: typecheck/should_fail/T16517, ghci/scripts/T16767
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/10452959136fbf271ac21eb0740030c046db36e1">10452959</a></strong>
<div>
<span>by Roland Senn</span>
<i>at 2019-06-09T22:44:18Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add disable/enable commands to ghci debugger #2215

This patch adds two new commands `:enable` and `:disable` to the GHCi debugger.
Opposite to `:set stop <n> :continue` a breakpoint disabled with `:disable` will
not loose its previously set stop command.
A new field breakEnabled is added to the BreakLocation data structure to
track the enable/disable state. When a breakpoint is disabled with a `:disable`
command, the following happens:

The corresponding BreakLocation data element is searched dictionary of the
`breaks` field of the GHCiStateMonad. If the break point is found and not
already in the disabled state, the breakpoint is removed from bytecode.
The BreakLocation data structure is kept in the breaks list and the new
breakEnabled field is set to false.

The `:enable` command works similar.

The breaks field in the GHCiStateMonad was changed from an association list
to int `IntMap`.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/13572480cbb8588033a60c675bec0cdae382fb91">13572480</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-09T22:44:54Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts: Separate population of eventTypes from initial event generation

Previously these two orthogonal concerns were both implemented in
postHeaderEvents which made it difficult to send header events after RTS
initialization.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/ed20412a8ce7578d073461892c9643591c6993a5">ed20412a</a></strong>
<div>
<span>by nineonine</span>
<i>at 2019-06-09T22:45:31Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Do not report error if Name in pragma is unbound
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/8a48a8a4e2f14f7f01aa1d4cf249420c908edb73">8a48a8a4</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-09T22:46:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add test for #16509
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/69c58f8abbb0b51eca1f0004a8d8c1cee0c8f766">69c58f8a</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2019-06-09T22:46:46Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: need CPP preprocessor dependencies #16660

Use the new -include-cpp-deps ghc option (#16521)
when generating .dependencies files in hadrian.
This is version gated as -include-cpp-deps is a
relatively new option.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1c7bb03db5956e8c56260ba0bbc8271afe073a01">1c7bb03d</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2019-06-09T22:47:24Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Comments only: document tcdDataCusk better.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5023adceeb59e9a2b57cda2e69cd2a6152a13ead">5023adce</a></strong>
<div>
<span>by John Ericson</span>
<i>at 2019-06-09T22:47:59Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove CPP ensuring word size is 32 or 64 bits around Addr# <-> int# primops

It shouldn't be needed these days, and those primops are "highly
deprecated" anyways.

This fits with my plans because it removes one bit of target-dependence
of the builtin primops, and this is the hardest part of GHC to make
multi-target.

CC @carter
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/8e60e3f0c6c1482f448dd4d24d716d34046503e9">8e60e3f0</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2019-06-09T22:48:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts: Fix RetainerProfile early return with TREC_CHUNK

When pop() returns with `*c == NULL` retainerProfile will immediately
return. All other code paths is pop() continue with the next stackElement
when this happens so it seems weird to me that TREC_CHUNK we would suddenly
abort everything even though the stack might still have elements left to
process.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1a3420cabdcf6d7d90c154681230f1150604c097">1a3420ca</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-10T11:59:41Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">base: Mark CPUTime001 as fragile

As noted in #16224, CPUTime001 has been quite problematic, reporting
non-monotonic timestamps in CI. Unfortunately I've been unable to
reproduce this locally.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/9bc10993bb300d3712b0f13ec6e28621d75d4204">9bc10993</a></strong>
<div>
<span>by Vladislav Zavialov</span>
<i>at 2019-06-10T12:00:16Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Print role annotations in TemplateHaskell brackets (#16718)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/0345b1b0f62c8fac72d07a7b848d14b9893e9ac9">0345b1b0</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2019-06-11T03:52:10Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Comments only: document newtypes' DataConWrapId
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/58a5d728d0293110d7e80aa1f067721447b20882">58a5d728</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2019-06-11T03:52:50Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Refactor the rules for .hi and .o into a single rule using `&%>` #16764

Currently the rule for .hi files just triggers (via need) the rule
for the .o file, and .o rule generates both the .o and .hi file.
Likewise for .o-boot and .hi-boot files. This is a bit of an abuse
of Shake, and in fact shake supports rules with multiple output
with the &%> function. This exact use case appears in Neil
Mitchell's paper *Shake Before Building* section 6.3.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/2f9450864b355269a102216292f2034f0f7bedda">2f945086</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-11T03:53:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Fix and extend closure_size test

This was previously broken in several ways. This is fixed and it also
now tests arrays. Unfortunately I was unable to find a way to continue
testing PAP and FUN sizes; these simply depend too much upon the
behavior of the simplifier.

I also tried to extend this to test non-empty arrays as well but
unfortunately this was non-trivial as the array card size constant isn't
readily available from haskell.

Fixes #16531.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e5d275f45677ed89df310754973a15c522dc1003">e5d275f4</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-11T03:53:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ghc-heap: Add closure_size_noopt test

This adds a new test, only run in the `normal` way, to verify the size
of FUNs and PAPs.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/fe7e7e4a950a77326cc16f4ade30a67d20d7cdd5">fe7e7e4a</a></strong>
<div>
<span>by Yuras Shumovich</span>
<i>at 2019-06-11T22:39:58Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Warn about unused packages

Reviewers: bgamari, simonpj

Reviewed By: simonpj

Subscribers: hvr, simonpj, mpickering, rwbarton, carter

GHC Trac Issues: #15838

Differential Revision: https://phabricator.haskell.org/D5285
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/39f50bff3ea913a7f4b1d915660bcf77b9327e2e">39f50bff</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-06-11T22:40:37Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Refine the GHCI macro into HAVE[_{INTERNAL, EXTERNAL}]_INTERPRETER

As discussed in #16331, the GHCI macro, defined through 'ghci' flags
in ghc.cabal.in, ghc-bin.cabal.in and ghci.cabal.in, is supposed to indicate
whether GHC is built with support for an internal interpreter, that runs in
the same process. It is however overloaded in a few places to mean
"there is an interpreter available", regardless of whether it's an internal
or external interpreter.

For the sake of clarity and with the hope of more easily being able to
build stage 1 GHCs with external interpreter support, this patch splits
the previous GHCI macro into 3 different ones:

- HAVE_INTERNAL_INTERPRETER: GHC is built with an internal interpreter
- HAVE_EXTERNAL_INTERPRETER: GHC is built with support for external interpreters
- HAVE_INTERPRETER: HAVE_INTERNAL_INTERPRETER || HAVE_EXTERNAL_INTERPRETER
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/45616133efba0c17a461ecf085427b7956250fad">45616133</a></strong>
<div>
<span>by Alec Theriault</span>
<i>at 2019-06-11T22:41:14Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Make `haddock_testsuite` respect `--test-accept`

Suppose you've made changes that affect the output of `haddockHtmlTest`
so that the following is failing:

    ./hadrian/build.sh -c --only=haddockHtmlTest test

Then, the following will accept new output for Haddock's test cases.

    ./hadrian/build.sh -c --only=haddockHtmlTest test --test-accept

You still do need to make sure those new changes (which show up in
Haddock's tree) get committed though.

Fixes #16694
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/762098bf2cfac657c0320249f62dc49bad77f7bf">762098bf</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-06-11T22:41:52Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts/RtsFlags.c: mention that -prof too enables support for +RTS -l
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/457fe7897d42e4359b6da6b359fd7ea8ae0f1d75">457fe789</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-06-11T22:42:30Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: teach the RTS that PROFILING implies TRACING

As discussed in #16744, both the Make and Hadrian build systems
have special code to always pass -eventlog whenever -prof or -debug
are passed. However, there is some similar logic in the RTS itself only
for defining TRACING when the DEBUG macro is defined, but no such logic
is implemented to define TRACING when the PROFILING macro is defined.
This patch adds such a logic and therefore fixes #16744.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/cf7f36ae5e0ceee1c37a4c38464209f04647a470">cf7f36ae</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-11T22:43:05Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts/linker: Mmap into low memory on AArch64

This extends mmapForLinker to use the same low-memory mapping
strategy used on x86_64 on AArch64. See #16784.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/0b7f81f560c602f32cfc90fd3fb5f1c52f06ad49">0b7f81f5</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-11T22:43:05Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts/linker: Use mmapForLinker to map PLT

The PLT needs to be located within a close distance of
the code calling it under the small memory model.

Fixes #16784.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1389b2ccdecb0ea7a8982884512dbf7175a52042">1389b2cc</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2019-06-11T22:43:43Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix an error message in CheckUnload.c:searchHeapBlocks
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/aad6115aed884db9ed47ac602ca1bd3b953ea089">aad6115a</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-06-11T22:44:20Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite/mk/boilerplate.mk: rename 'ghc-config-mk' to 'ghc_config_mk'

Make/shell variable names which contain dashes can cause problems under
some conditions. The 'ghc-config-mk' variable from testsuite/mk/boilerplate.mk
that I made overridable (by Hadrian) in ba0aed2e was working as expected when
our Hadrian/Linux job was based off the deb8 Docker image, but broke when
I switched the job to use our deb9-based image, in 3d97bad6. The exact
circumstances/tool versions that trigger this problem are unknown, but
changing the variable's name to 'ghc_config_mk' lets us work around the issue.

This fixes the annth_compunits and annth_make test failures that showed up
when we switched the Hadrian/Linux job to use the deb9 environment.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/9b4ff57d71eebf6dd71a5d81d0f9c9c2aef80e65">9b4ff57d</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T11:35:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">llvm-targets: Add armv7l-unknown-linux-gnueabi

Fixes #15208.

[skip ci]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/c05ca251620ff2589f21192208a1e500285eb5c3">c05ca251</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T11:36:01Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add haddock perf test output to gitignore

[skip ci]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/bbc752c50f3adcb659cd8447635828e137a0a314">bbc752c5</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T11:36:36Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts/linker: Make elf_got.c a bit more legible
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/217e6db4af6752b13c586d4e8925a4a9a2f47245">217e6db4</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T11:36:36Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts/linker: Only mprotect GOT after it is filled

This fixes a regression, introduced by 67c422ca, where we mprotect'd the
global offset table (GOT) region to PROT_READ before we had finished
filling it, resulting in a linker crash.

Fixes #16779.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1219f8e8a3d1b58263bea76822322b746a632778">1219f8e8</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2019-06-12T11:37:12Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use DeriveFunctor throughout the codebase (#15654)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/bd2d13ff778a4b1b5d793c99229cccfb64d792f3">bd2d13ff</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:19:59Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Bump binary to 0.8.7.0

(cherry picked from commit 983ada70a013c7642a751f6e41587ff95b57d0f8)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/381c3ae31b68019177f1cd20cb4da2f9d3b7d6c6">381c3ae3</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:19:59Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Bump Cabal submodule

(cherry picked from commit ff438786613f07df9b2d43eaeac49b13815d849d)

Metric Increase:
    haddock.Cabal
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/0354c7ded874f18c177e9154615c9dfdf1d99d8a">0354c7de</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:19:59Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Bump time submodule to 1.9.3

(cherry picked from commit fdb07571036b1498800589d45b61781e6acdd368)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e0b16eaa856bc126ee6676b0c5e40fb01c6558f6">e0b16eaa</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:19:59Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Bump terminfo to 0.4.1.4

(cherry picked from commit 1134488b4c9cef904ea82f22f1978646eea612df)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/2ce320b07ca9171d132b748ecbc3d7fdee4840b8">2ce320b0</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:19:59Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Test using slowtest in deb9-debug job
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/90e7c450ce9b9b1ec36ea12ef8041d8e7f192c36">90e7c450</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:19:59Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark hWaitForInput-accurate-stdin as broken in threaded ways

As noted in #16535.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/488187f81babf0b0937aec0c81b132563cbbec4e">488187f8</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:19:59Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark T13167 as fragile in threaded2

As noted in #16536.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/9b5833208bdbac027c960da13bb4184125d596a5">9b583320</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:19:59Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark T13910 as broken in optasm

Due to #16537.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/eb644865b1f5723ddc4e5a1c0187a116fa4cb175">eb644865</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:19:59Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark T14761c as broken in hpc, profasm, and optasm ways

As noted in #16540.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1a204e07119ed81fc593457372229bef26f48dbe">1a204e07</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:19:59Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark T16180 as broken in ghci and ext-interp ways

As noted in #16541.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/8d482e45590d01e6779f6f675911ffa1067ad981">8d482e45</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:19:59Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Omit tcrun022 in hpc way

As noted in #16542, the expected rule doesn't fire. However, this
doesn't seem terribly surpring given the circumstances.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/68cfdfdb8775ff28a20131248beec7ac0906aeac">68cfdfdb</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:20:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark Overflow as broken in hpc way

As noted in #16543.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a3929a4fa7d38153ba8ced674af78e073d3078aa">a3929a4f</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:20:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark T2783 as fragile in threaded1

It was previously marked as broken but it passes non-deterministically.
See #2783.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/bb7ed32f2a147007a224928534a7c461e5a6d429">bb7ed32f</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:20:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Skip T7919 in ghci way

It times out pretty reliably. It's not clear that much is gained by
running this test in the ghci way anyways.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/329dcd7a59e7d46cb5110e1dfb9f8b7f50f0e3a2">329dcd7a</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:20:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Fix fragile_for test modifier
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/55b5bb14b9a2487bab80411776ae34c143eddb1a">55b5bb14</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:20:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Fix omit_ways usage

omit_ways expects a list but this was broken in several cases.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/264ad286086041f52d841ff4fe7c342a242b033d">264ad286</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:20:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark threadstatus-T9333 as fragile in ghci way

As noted in #16555.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/587bef669c600a0e5b57d69c971304dc9c8b9923">587bef66</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:20:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Omit profasm way for cc017

cc017 requires TH but we can't load dynamic profiled objects.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/dc5a37fdc27e3420b3e6fd2fa6674cc172daaaae">dc5a37fd</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:20:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Skip T493 in ghci way.

T493 tests #493, which is an FFI test. FFI tests should be skipped
in ghci way.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e3f71d0e9e7d27b93b9fcd0e5b5d4cacc6718d39">e3f71d0e</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:20:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark T16449_2 as broken due to #16742
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/b5a13a1e40da43d115786bac3a7f8bf0e7849db1">b5a13a1e</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:20:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark T16737 as broken in ghci way due to #16541
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/b09374a4a839c2587a738698133465c4b9277c3b">b09374a4</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:20:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Note intentional typo in T7130

I earlier accidentally corrected it breaking the test.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a798c130b3adc6c336856243a14175d4bd7c770f">a798c130</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:20:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">linters/check-makefiles: Limit lint to Makefiles

Previously we would apply this rule, which is only intended for
testsuite Makefiles, to all files. This lead to a number of
false-positives in all.T files.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/0782141ef52c72523b82cd83b7466a3a65d94a31">0782141e</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:20:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Fetch submodules before running submodule linter
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/898f7e9235eff57ececac4836f6ba74388131db2">898f7e92</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:20:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix uses of #ifdef/#ifndef

The linter now enforces our preference for `#if defined()` and
`#if !defined()`.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/0a13a04c98c9b11bbd72992354a6f33d3274bb1a">0a13a04c</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:20:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Bump unix submodule

Marks posix002 as fragile in threaded2 way due to #16550.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a8579e5b3fadcc7d17e97016b3ea57e78b6a1b78">a8579e5b</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:27:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">process: Bump submodule

 * Skip process005 in ghci way
 * Mark process002 as fragile in threaded2
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/3f1022c514cf2a89f4b329a898467872315477b2">3f1022c5</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:27:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Skip cgrun078 in ghci way

This test requires FFI usage.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1cbfef47f0288a0f55e8f3db71076afd190121ca">1cbfef47</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:27:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Unbreak galois_raytrace on i386

galois_raytrace was previously broken on i386 due to use of x87
arithmethic on that platform. However,
42504f4a575395a35eec5c3fd7c9ef6e2b54e68e removes x87 support; this
resulted in an unexpected pass. Unmark this test as broken.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/20160f1a8a8ed69c168bee5c8d43373191303b3f">20160f1a</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T12:27:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Don't run tests requiring TH in profasm way when GhcDynamic

Since we can't load profiled objects when GhcDynamic==YES. Affects:

* T16737
* T16384
* T16718
* T16619
* T16190
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/7b751ed89a97545e9ff9c9814a3d5440a8d42d64">7b751ed8</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T21:52:35Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Bump Docker image

Fixes linters.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5ffc266e9c5ec8ed6010835165a65bd1f6b56dd4">5ffc266e</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-13T06:48:13Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add a few missing llvm-targets

This should finally fix #14261.

[skip ci]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/fc6b23be509e290f8d27775a1c637284a335ed81">fc6b23be</a></strong>
<div>
<span>by Phuong Trinh</span>
<i>at 2019-06-13T06:48:50Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix #16525: ObjectCode freed wrongly because of lack of info header check

`checkUnload` currently doesn't check the info header of static objects.
Thus, it may free an `ObjectCode` struct wrongly even if there's still a
live static object whose info header lies in a mapped section of that
`ObjectCode`. This fixes the issue by adding an appropriate check.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a657543c4d676b7e6e0984b72b31dd95949855e4">a657543c</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-13T06:49:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">PrelRules: Ensure that string unpack/append rule fires with source notes

Previously the presence of source notes could hide nested applications
of `unpackFoldrCString#` from our constant folding logic. For instance,
consider the expression:

```haskell
unpackFoldrCString# "foo" c (unpackFoldrCString# "baz" c n)
```

Specifically, ticks appearing in two places can defeat the rule:

  a. Surrounding the inner application of `unpackFoldrCString#`
  b. Surrounding the fold function, `c`

The latter caused the `str_rules` testcase to fail when `base` was built
with `-g3`.

Fixes #16740.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e98d32a62977fe1057ebbb1b6ed8990438cb9896">e98d32a6</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2019-06-13T06:50:00Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: Track RTS library symlink targets

This requires creating RTS library symlinks when registering, outside
of the rule for the registered library file.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/35113117436c4936d97aae90693b93206d9ff213">35113117</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-06-13T06:50:37Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: Do not allow the Linux jobs to fail anymore

MR !1151 makes the Hadrian/Linux job pass by fixing the last two test failures,
so we can now be stricter and not allow those jobs to fail anymore, easily
letting us see when patches introduce test failures.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/70b5eefe09823f77bcfdd7b4fa8dbaee18ab316c">70b5eefe</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-13T06:51:13Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">users-guide: Fix a few markup issues

Strangely these were only causing the build to fail in the aarch64-linux
job, despite Sphinx throwing errors in all jobs I checked.

Also changes some `#ifdef`s to `#if defined` to satisfy the linter.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/9721b40db9b87c0135613649f9f1e129eb49795b">9721b40d</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-13T06:51:13Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Don't build PDF user's guide on AArch64

For reasons I don't understand sphinx seems to fail to produce a .idx
file for makeindex.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/d550b771f6ebb91bfe860fc08811a7d74b39eb38">d550b771</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-13T06:51:50Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Clean up .circleci

Move prepare-system.sh to .gitlab and remove everything else.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/c53dfb3b2cddfe2d00d9017c9240042cc6bc7fcf">c53dfb3b</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-13T15:52:47Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: A more portable solution to #9399

Previously we used an awful hybrid batch script/Bourne shell script to
allow this test to run both on Windows and Linux (fixing #9399).
However, this breaks on some libc implementations (e.g. musl). Fix this.

Fixes #16798.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/74b5d0496f60b30c3fd4de2e7f8a96d1c481bdd6">74b5d049</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-13T15:53:22Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Disable deb9-llvm job, introduce nightly LLVM job

This should help alleviate queue times as the LLVM job is one of the
longest that we have.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5ce63d52fed05371edb34b4f330c33bc85a45127">5ce63d52</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-13T15:53:22Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Disable validate-x86_64-linux-deb9 job to reduce load

Enable artifacts on to ensure we have bindist coverage.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/dc4a5651f6e63f9db2e4c542bbcabef8cf18027e">dc4a5651</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-14T02:51:53Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Really fix #16741

The previous fix, !1095, didn't work as `--show-iface` ignores
`-dsuppress-ticks`. Rework the test instead.
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#fd5da61396a8376845bee5cdf71aaf3c98a888ae">
<span class="deleted-file">

.circleci/config.yml
</span>
</a>
</li>
<li class="file-stats">
<a href="#56be66455261205bf0b72abe2b6de5304b7edbea">
<span class="deleted-file">

.circleci/fetch-submodules.sh
</span>
</a>
</li>
<li class="file-stats">
<a href="#1f5a0c7d612024c9508dd9b2f4f8dc750313be9a">
<span class="deleted-file">

.circleci/push-test-metrics.sh
</span>
</a>
</li>
<li class="file-stats">
<a href="#587d266bb27a4dc3022bbed44dfa19849df3044c">
.gitlab-ci.yml
</a>
</li>
<li class="file-stats">
<a href="#94d74d443c79a6f0e3f44097cf3dd2f1a34bdcbe">
.gitlab/linters/check-makefiles.py
</a>
</li>
<li class="file-stats">
<a href="#e744be31242d2de56a037bead48e7046d28c2059">
.gitlab/linters/linter.py
</a>
</li>
<li class="file-stats">
<a href="#1726cdd2367b3b0246025a33d56ad19b52d3e5d4">
.circleci/prepare-system.sh

.gitlab/prepare-system.sh
</a>
</li>
<li class="file-stats">
<a href="#9ab3868b23ed5d5a6e12ef902049902556fa4009">
aclocal.m4
</a>
</li>
<li class="file-stats">
<a href="#2f8fee2abca5d63f3b2a113efc849e4e6054c49a">
compiler/basicTypes/MkId.hs
</a>
</li>
<li class="file-stats">
<a href="#49d2d51d42e9c209de33c35681b9c9b1e912cda9">
compiler/basicTypes/NameEnv.hs
</a>
</li>
<li class="file-stats">
<a href="#2da47fed955dc80b79c67ba640b94aeecf9d5524">
compiler/basicTypes/UniqSupply.hs
</a>
</li>
<li class="file-stats">
<a href="#8d4ba78353a7c0418f662623b049e828177492a8">
compiler/cmm/CmmLint.hs
</a>
</li>
<li class="file-stats">
<a href="#6baddca1d1d357c81c329f9a5877a1772b0086e9">
compiler/cmm/CmmMachOp.hs
</a>
</li>
<li class="file-stats">
<a href="#ea8bbb0a899d95f501cc47d9394f2f8dd3763b18">
compiler/cmm/Hoopl/Block.hs
</a>
</li>
<li class="file-stats">
<a href="#bb9db6a6d17619856f0592be800a5f754007b3b6">
compiler/cmm/MkGraph.hs
</a>
</li>
<li class="file-stats">
<a href="#61470c7221010080ec380a45874259d0ed73da4a">
compiler/cmm/PprC.hs
</a>
</li>
<li class="file-stats">
<a href="#c569fe5eb9284314e129c104f265fe360a4b1d3d">
compiler/codeGen/StgCmmExpr.hs
</a>
</li>
<li class="file-stats">
<a href="#4a84a32022bec03831decce7dccbe5e2f1f0f0d8">
compiler/codeGen/StgCmmExtCode.hs
</a>
</li>
<li class="file-stats">
<a href="#ae667aa599c96310c85c0258e4e7d72b00275ae5">
compiler/codeGen/StgCmmForeign.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="#da5742c4b404a672740f0eef71683f5a8dd3818e">
compiler/coreSyn/CoreLint.hs
</a>
</li>
<li class="file-stats">
<a href="#bd37d71fa68b0980d832d992b427fd6a6bdb891d">
compiler/deSugar/Check.hs
</a>
</li>
<li class="file-stats">
<a href="#b330982a833038b785b1f9db1eb6ec91ded5e7f0">
compiler/deSugar/Coverage.hs
</a>
</li>
<li class="file-stats">
<a href="#cdd7bc06da6b3eab3e2072ece6294a7f54808f28">
compiler/deSugar/DsMonad.hs
</a>
</li>
<li class="file-stats">
<a href="#828fc123b45440f198ae1a73afbdb01bfecdf022">
compiler/deSugar/ExtractDocs.hs
</a>
</li>
<li class="file-stats">
<a href="#7589abbc710cc40f6e48245c2bc16d69f556b714">
compiler/deSugar/PmExpr.hs
</a>
</li>
<li class="file-stats">
<a href="#584407121afc66978c814dbdb5c252118d27656a">
<span class="new-file">
+
compiler/deSugar/PmPpr.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#379674a5063221cec43f0f659c2eb67b30339f45">
compiler/deSugar/TmOracle.hs
</a>
</li>
<li class="file-stats">
<a href="#0f33fd88c617246c7f89c4477d2d1d24f942df23">
compiler/ghc.cabal.in
</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/5d2d6da8bb661aa2f80356d7ae4c651966aa72d4...dc4a5651f6e63f9db2e4c542bbcabef8cf18027e">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>