<!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/remove-whitespace
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/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>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#587d266bb27a4dc3022bbed44dfa19849df3044c">
.gitlab-ci.yml
</a>
</li>
<li class="file-stats">
<a href="#49d2d51d42e9c209de33c35681b9c9b1e912cda9">
compiler/basicTypes/NameEnv.hs
</a>
</li>
<li class="file-stats">
<a href="#bb9db6a6d17619856f0592be800a5f754007b3b6">
compiler/cmm/MkGraph.hs
</a>
</li>
<li class="file-stats">
<a href="#ae667aa599c96310c85c0258e4e7d72b00275ae5">
compiler/codeGen/StgCmmForeign.hs
</a>
</li>
<li class="file-stats">
<a href="#bd37d71fa68b0980d832d992b427fd6a6bdb891d">
compiler/deSugar/Check.hs
</a>
</li>
<li class="file-stats">
<a href="#cdd7bc06da6b3eab3e2072ece6294a7f54808f28">
compiler/deSugar/DsMonad.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>
<li class="file-stats">
<a href="#56a2aef3e536ed0c92ee3fe12720d26f6c84d541">
compiler/ghci/LinkerTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#72690aad4036dea6e6e116c30e4d7582f5077db7">
compiler/main/DriverPipeline.hs
</a>
</li>
<li class="file-stats">
<a href="#a7d05a7194ce9665362b8cb2a6e3cb5bd39f2965">
compiler/main/HscTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#cdec0bcdc645a00b0d184ad59451df48e8287298">
compiler/main/Packages.hs
</a>
</li>
<li class="file-stats">
<a href="#0dbf0ff37c38cb6a955d609ea292c495d5978739">
compiler/main/SysTools/BaseDir.hs
</a>
</li>
<li class="file-stats">
<a href="#f171fcd6a9b405926ab6c9973ca110af70daef3b">
compiler/prelude/PrelInfo.hs
</a>
</li>
<li class="file-stats">
<a href="#2a8bedbc781353ca3c4d1e56daba6faa8829aaf3">
compiler/prelude/primops.txt.pp
</a>
</li>
<li class="file-stats">
<a href="#8e5716cfebabf9b3b1774b148dca4e897301a054">
compiler/specialise/Specialise.hs
</a>
</li>
<li class="file-stats">
<a href="#da0b7b01ca96b39115ee464b3e723c9fd3df8136">
compiler/stgSyn/StgSyn.hs
</a>
</li>
<li class="file-stats">
<a href="#9f8e9eab0dc8b12ae9f92fbb76ddca15c817667a">
compiler/typecheck/TcCanonical.hs
</a>
</li>
<li class="file-stats">
<a href="#89165943f253c43100bca06548eba40ff0519ca5">
compiler/typecheck/TcEvidence.hs
</a>
</li>
<li class="file-stats">
<a href="#d2ddf5ce2d076f8584d9825af8ea0d7ea0a38813">
compiler/typecheck/TcRnTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#088b49348926372d4b44b4f836a02df001856987">
compiler/typecheck/TcSMonad.hs
</a>
</li>
<li class="file-stats">
<a href="#2cbc08c5f3b1dcbc9c763a836b51491224c05e50">
compiler/utils/ListSetOps.hs
</a>
</li>
<li class="file-stats">
<a href="#28cb2d1fcbc22664fcf251f87743f25d05fcd16f">
docs/users_guide/eventlog-formats.rst
</a>
</li>
<li class="file-stats">
<a href="#c30f4ac98f08779ad1bd5a02a27802862c1e9521">
ghc/GHCi/UI.hs
</a>
</li>
<li class="file-stats">
<a href="#b71856f5728e262c6f67455997507c6fa2ede3b9">
hadrian/src/Hadrian/Utilities.hs
</a>
</li>
<li class="file-stats">
<a href="#debe527847514360ea5e75538c7630ba2dfebba6">
includes/rts/EventLogFormat.h
</a>
</li>
<li class="file-stats">
<a href="#bc27832dbbe4b76937558cab6f346e82563ad0fb">
libraries/base/Data/Traversable.hs
</a>
</li>
<li class="file-stats">
<a href="#269448746b2d7046ede74979e927b8642db7271f">
libraries/base/GHC/ForeignPtr.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/36cab4e723020519a4e185a12ec75b3c81868d0c...709290b01c3c63137d863d6fdd97dabdfe47eb29">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>