<!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/fix-windows
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/7bc5d6c6578ab9d60a83b81c7cc14819afef32ba">7bc5d6c6</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-14T03:34:41Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Maintain separate flags for C++ compiler invocations

Previously we would pass flags intended for the C compiler to the C++
compiler (see #16738). This would cause, for instance, `-std=gnu99` to
be passed to the C++ compiler, causing spurious test failures. Fix this
by maintaining a separate set of flags for C++ compilation invocations.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/71e75ba6d892e8dfb6794f0ce70d01c9521b77c5">71e75ba6</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2019-06-14T03:35:19Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove unused Unique field from StgFCallOp

Fixes #16696
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/ec25fe5986c13f673882a88a3107dfa2e0cec254">ec25fe59</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-06-14T03:35:56Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: remove superfluous dependencies in Rules.Compile

Each package's object files were 'need'ing the library files of all transitive
dependencies of the current package, whichi is pointless since the said
libraries are not needed until we link those object files together.

This fixes #16759.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/3bc6df3223f62a8366e2e4267bac23aa08e6a939">3bc6df32</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2019-06-14T03:36:34Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add Outputable instances for Float, Double.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/effdd948056923f3bc03688c24d7e0339d6272f5">effdd948</a></strong>
<div>
<span>by Andrew Martin</span>
<i>at 2019-06-14T14:48:13Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Implement the -XUnliftedNewtypes extension.

GHC Proposal: 0013-unlifted-newtypes.rst
Discussion: https://github.com/ghc-proposals/ghc-proposals/pull/98
Issues: #15219, #1311, #13595, #15883
Implementation Details:
  Note [Implementation of UnliftedNewtypes]
  Note [Unifying data family kinds]
  Note [Compulsory newtype unfolding]

This patch introduces the -XUnliftedNewtypes extension. When this
extension is enabled, GHC drops the restriction that the field in
a newtype must be of kind (TYPE 'LiftedRep). This allows types
like Int# and ByteArray# to be used in a newtype. Additionally,
coerce is made levity-polymorphic so that it can be used with
newtypes over unlifted types.

The bulk of the changes are in TcTyClsDecls.hs. With -XUnliftedNewtypes,
getInitialKind is more liberal, introducing a unification variable to
return the kind (TYPE r0) rather than just returning (TYPE 'LiftedRep).
When kind-checking a data constructor with kcConDecl, we attempt to
unify the kind of a newtype with the kind of its field's type. When
typechecking a data declaration with tcTyClDecl, we again perform a
unification. See the implementation note for more on this.

Co-authored-by: Richard Eisenberg <rae@richarde.dev>
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5279dda861f6a5cc804be88dc5f0ff2442660149">5279dda8</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-14T14:48:51Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">PrelRules: Don't break let/app invariant in shiftRule

Previously shiftRule would rewrite as invalid shift like
```
let x = I# (uncheckedIShiftL# n 80)
in ...
```
to
```
let x = I# (error "invalid shift")
in ...
```
However, this breaks the let/app invariant as `error` is not
okay-for-speculation. There isn't an easy way to avoid this so let's not
try. Instead we just take advantage of the undefined nature of invalid
shifts and return zero.

Fixes #16742.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/503e830c3d01edc9db4e49e73841e45a20675a1e">503e830c</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-15T03:10:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Lint testsuite for framework failures

This introduces a new lint job checking for framework failures and
listing broken tests.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/b5ea9323a3a39a005a41580228a4722131d417b2">b5ea9323</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-15T03:10:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">lint: Only apply --interactive lint to testsuite .T files
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5c97211cf21d2eb99db1a5cf473a630ffe245064">5c97211c</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-15T03:10:08Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Lint the linters
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/257165b47298644d67d39b6f5b565b65fe840f50">257165b4</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-06-15T03:10:46Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove duplicates from 'ghc --info' output
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5da6c86f7b1304af3c314b3f9c0b007d6508c427">5da6c86f</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-15T19:14:01Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Bump unix submodule

Skips `executeFile001` test in `threaded2` way. Fixes #16814.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/20b4d5ecabc59062b7a841ce20b631364d8f8645">20b4d5ec</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-16T03:32:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Disable optimisation when building Cabal lib for stage0

This disables optimisation when building Cabal for Hadrian and
stage0 `ghc-cabal`. Cabal is performance critical in neither case nor
will any performance difference here be visible to the end-user.

See #16817.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/76b7f619385ac5d126dd186ff3bfe4cdad9349e7">76b7f619</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-16T03:32:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Disable optimisation when building Cabal in development flavours

This updates the make and Hadrian build flavours targetting developers
to disable optimisation when building the Cabal library. Cabal tends to
tickle some very bad compiler performance cases (e.g. #16577) so
disabling optimisation here makes a sizeable impact on overall build
time.

See #16817.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/0d2a4258c1a025c2610a415e951efe4e2ed8970a">0d2a4258</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-16T03:33:13Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Introduce concurrent_ways set

Previously we just tested for the threaded2 when determining whether to
skip tests which are fragile under concurrent execution. However, this
isn't the only way which is concurrent.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/beacb6fd898db43382fedf8b9a7e6657e53fca9a">beacb6fd</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-16T03:33:13Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Skip hDuplicateTo001 in concurrent ways

As noted in #16819, this operation is racy under concurrent execution.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/ca721193fc71c065036deecfb9d4274fbfc6850d">ca721193</a></strong>
<div>
<span>by Aiken Cairncross</span>
<i>at 2019-06-16T03:33:50Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix typo in error message
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/57b718481d5363ab33df4c7814f74897418f79d7">57b71848</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-16T03:34:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add assertions that way lists are in fact lists

Previously there were a few cases where operations like `omit_ways`
were incorrectly passed a single way (e.g. `omit_ways('threaded2')`).
This won't work as the author expected.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/25ee60cdae6ddedaf6b4677c6327c0f31c81073a">25ee60cd</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2019-06-16T03:35:03Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Synchronize ClsInst.doTyConApp with TcTypeable validity checks (#15862)

Issue #15862 demonstrated examples of type constructors on which
`TcTypeable.tyConIsTypeable` would return `False`, but the `Typeable`
constraint solver in `ClsInst` (in particular, `doTyConApp`) would
try to generate `Typeable` evidence for anyway, resulting in
disaster. This incongruity was caused by the fact that `doTyConApp`
was using a weaker validity check than `tyConIsTypeable` to determine
if a type constructor warrants `Typeable` evidence or not. The
solution, perhaps unsurprisingly, is to use `tyConIsTypeable` in
`doTyConApp` instead.

To avoid import cycles between `ClsInst` and `TcTypeable`, I factored
out `tyConIsTypeable` into its own module, `TcTypeableValidity`.

Fixes #15862.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4138bf868534f54d47643c0aa38d4dce89135501">4138bf86</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2019-06-16T03:35:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove dead code
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/db313f987f353cd2691b42c85866a62f5c0a903c">db313f98</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-16T10:26:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">base/Event/Poll: Drop POLLRDHUP enum item

Previously the Event enumeration produced by hsc2hs would sometimes
include a currently-unused POLLRDHUP item. This unused binding would
result in a build failure. Drop it.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/81608e82dfed7e78c1bba189f26c8c760f7c196a">81608e82</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-16T10:26:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Fix T8602 on musl

Musl wants hash-bangs on all executables.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a0f683795a72f7b82962d24098b1dc7c2b04ab29">a0f68379</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-16T10:26:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Ensure T5423 flushes C output buffer

Previously T5423 would fail to flush the printf output buffer.
Consequently it was platform-dependent whether the C or Haskell print
output would be emitted first.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/543dfaab166c81f46ac4af76918ce32190aaab22">543dfaab</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-16T10:26:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Flush conc059's printf buffer

Otherwise it the order out the Haskell and C output will be
system-dependent.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e647752e7b99c2fb198b652bc00c531cf31878cf">e647752e</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-16T10:26:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Ensure that ffi005 output order is predictable

The libc output buffer wasn't being flushed, making the order
system-depedent.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/338336d37eaaac614c6f2c3b077417195b05e713">338336d3</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-16T10:26:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Build alpine release bindists
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/75c6ccf72b2e9c363fad6b91dd4a39525f17a4c5">75c6ccf7</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-06-16T10:27:17Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">fix runghc's GHC detection logic to cover the "in-tree Hadrian build" scenario

Before this patch, runghc would only run the GHC detection logic on Windows and
assume that it was invoked through a wrapper script on all other platforms.
This patch lifts this limitation and makes that logic work for the scenario
where someone is calling the runghc executable directly, without passing an
explicit path to GHC.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/3c35e14058f909bf0c26b5553fc9c61559fc5708">3c35e140</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-16T23:38:51Z</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>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/b3bb1b06b875291cfd7be2a0c0afc87f3c0574e0">b3bb1b06</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-16T23:38:51Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Don't allow failure of deb9-dwarf job

This #16741 out of the way this should now pass.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/b965de1ef0e2770f71d49d66f88df7fa7cd2cd58">b965de1e</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2019-06-16T23:39:29Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use TupleSections in CmmParse.y, simplify a few exprs
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/63965ae3a3aa0ea2a2f7462337892898b8880880">63965ae3</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-17T05:20:21Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">make: Clean includes/settings file

Now since this is generated by the build system we should ensure that it
is properly cleaned.

[skip ci]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/bb141114ad4e4eb6db66e212fa08d93257b99bbc">bb141114</a></strong>
<div>
<span>by Siddharth Bhat</span>
<i>at 2019-06-17T05:20:57Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add link to mfix.github.io/ghc in HACKING.md
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/24afbfe9aacbb3f6a5cec8875ab100f0dfbe1bf8">24afbfe9</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-17T14:20:32Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Run nofib on binary distributions

Updates docker images to ensure that the `time` utility is available.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/62f0213d4db6020a0d1feb8512432dcad36f08de">62f0213d</a></strong>
<div>
<span>by Fumiaki Kinoshita</span>
<i>at 2019-06-18T20:00:20Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Data.Ord: give a field name getDown to Down
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/da33f2bb3965bacec25790548d1a9b6812dfeefc">da33f2bb</a></strong>
<div>
<span>by Fumiaki Kinoshita</span>
<i>at 2019-06-18T20:00:20Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add more newtype-derived instances to Data.Ord.Down

Metric Increase:
    haddock.base
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/dbf9ca2040c71b2f04322b054322a0ede1e1b700">dbf9ca20</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T20:00:56Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add testcase for #16689
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/29ec33cd3ee390e8006a88d34f5ea0ac236663d0">29ec33cd</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T20:00:56Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">SafeHaskell: Don't throw -Wsafe warning if module is declared Safe

Fixes #16689.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a491e40c5b7b20ef4a579a6697fb47410e0de25a">a491e40c</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T20:01:31Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">hadrian: Compile UserSettings with -O0

This guarantees that the interface file for `UserSettings` doesn't 
contain any unfoldings, ensuring that a change in it requires minimal 
rebuilds.</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/74bd6b225d94838811b885f9fdf943a5900cb424">74bd6b22</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T20:02:07Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add test for #16832
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/6a92f59d7385397fb9ee013efe102c797319243c">6a92f59d</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T20:02:42Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Run alpine builds during nightly job
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4549cadf855d14a6b737ceddf4e474faf8e343ff">4549cadf</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2019-06-18T20:03:19Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Make sure mkSplitUniqSupply stores the precomputed mask only.

mkSplitUniqSupply was lazy on the boxed char.

This caused a bunch of issues:
* The closure captured the boxed Char
* The mask was recomputed on every split of the supply.
* It also caused the allocation of MkSplitSupply to happen in it's own
(allocated) closure. The reason of which I did not further investigate.

We know force the computation of the mask inside mkSplitUniqSupply.
* This way the mask is computed at most once per UniqSupply creation.
* It allows ww to kick in, causing the closure to retain the unboxed
value.

Requesting Uniques in a loop is now faster by about 20%.

I did not check the impact on the overall compiler, but I added a test
to avoid regressions.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/550f077b2bde51539c80cf50f69e2f4d83163dea">550f077b</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-19T18:35:40Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Skip dynamicToo006 when dynamic linking is not available

This was previously failling on Windows.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/31bccb49746f135d9d337bf13b669ced84acfe8e">31bccb49</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-19T18:35:40Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark T3372 as fragile on Windows

On Windows we must lock package databases even when opening for
read-only access. This means that concurrent GHC sessions are very
likely to fail with file lock contention.

See #16773.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/2514569e53e258fb5a4d0c4b5a224b59ac0ee6e3">2514569e</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-19T18:35:40Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add stderr output for UnsafeInfered02 on Windows

This test uses TemplateHaskell causing GHC to build dynamic objects on
platforms where dynamic linking is available. However, Windows doesn't support
dynamic linking. Consequently the test would fail on Windows with:

```patch
--- safeHaskell/safeInfered/UnsafeInfered02.run/UnsafeInfered02.stderr.normalised       2019-06-04 15:10:10.521594200 +0000
+++ safeHaskell/safeInfered/UnsafeInfered02.run/UnsafeInfered02.comp.stderr.normalised  2019-06-04 15:10:10.523546200 +0000
@@ -1,5 +1,5 @@
-[1 of 2] Compiling UnsafeInfered02_A ( UnsafeInfered02_A.hs, UnsafeInfered02_A.o, UnsafeInfered02_A.dyn_o )
-[2 of 2] Compiling UnsafeInfered02  ( UnsafeInfered02.hs, UnsafeInfered02.o, UnsafeInfered02.dyn_o )
+[1 of 2] Compiling UnsafeInfered02_A ( UnsafeInfered02_A.hs, UnsafeInfered02_A.o )
+[2 of 2] Compiling UnsafeInfered02  ( UnsafeInfered02.hs, UnsafeInfered02.o )

 UnsafeInfered02.hs:4:1:
     UnsafeInfered02_A: Can't be safely imported!
```

The other approach I considered for this issue is to pass `-v0` to GHC.
However, I felt we should probably do this consistently for all of the tests in
this directory and this would take more time than I currently have.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/dc47845c9869e7e3c0e74a0506941f6354298f5c">dc47845c</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-19T18:35:40Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark OldModLocation as broken on Windows

Strangely the path it emits contains duplicate path delimiters (#16772),
```patch
--- ghc-api/downsweep/OldModLocation.run/OldModLocation.stderr.normalised       2019-06-04 14:40:26.326075000 +0000
+++ ghc-api/downsweep/OldModLocation.run/OldModLocation.run.stderr.normalised   2019-06-04 14:40:26.328029200 +0000
@@ -1 +1 @@
-[Just "A.hs",Just "mydir/B.hs"]
+[Just "A.hs",Just "mydir//B.hs"]
```
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/eff11fd287a7cc724c0919f6b1e25dfc1c1c64af">eff11fd2</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-19T18:35:41Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark T7170 as broken on Windows

Due to #16801.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/509ae3f7e644a5869b55ee838007469de615bd67">509ae3f7</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-19T18:35:41Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark T7702 as broken on Windows

Due to #16799.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/153a1ade38b1784f2dd0a21f0e11366e57159e05">153a1ade</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-19T18:35:41Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark T15633a and T15633b as fragile on Windows

As noted in #16813, these tests seem to be fragile on Windows.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4b9f06cd4dc96f1bbaa5b38961845fbed37d1b11">4b9f06cd</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-19T18:35:41Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">linker: Disable code unloading

As noted in #16841, there are currently a variety of bugs in the
unloading logic. These only affect Windows since code unloading is
disabled on Linux, where we build with `GhcDynamic=YES` by default.

In the interest of getting the tree green on Windows disable code
unloading until the issues are resolved.
</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="#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="#0c39c6a7c54e5d668d208665d6e5ccecdd3bb246">
HACKING.md
</a>
</li>
<li class="file-stats">
<a href="#9ab3868b23ed5d5a6e12ef902049902556fa4009">
aclocal.m4
</a>
</li>
<li class="file-stats">
<a href="#2c842f2f15e67826dc12cc363525b56acb7b7882">
compiler/basicTypes/Id.hs
</a>
</li>
<li class="file-stats">
<a href="#2f8fee2abca5d63f3b2a113efc849e4e6054c49a">
compiler/basicTypes/MkId.hs
</a>
</li>
<li class="file-stats">
<a href="#2da47fed955dc80b79c67ba640b94aeecf9d5524">
compiler/basicTypes/UniqSupply.hs
</a>
</li>
<li class="file-stats">
<a href="#6ef05b1b6c1d8310a12b77b1b849f9dad563141c">
compiler/cmm/CmmParse.y
</a>
</li>
<li class="file-stats">
<a href="#c569fe5eb9284314e129c104f265fe360a4b1d3d">
compiler/codeGen/StgCmmExpr.hs
</a>
</li>
<li class="file-stats">
<a href="#ae667aa599c96310c85c0258e4e7d72b00275ae5">
compiler/codeGen/StgCmmForeign.hs
</a>
</li>
<li class="file-stats">
<a href="#731b07c16b2f4bb31dd7defa4ceef54e74473cc7">
compiler/codeGen/StgCmmPrim.hs
</a>
</li>
<li class="file-stats">
<a href="#c51feff1097e886121a45f5d4b0baf4d9793d59e">
compiler/coreSyn/CoreSyn.hs
</a>
</li>
<li class="file-stats">
<a href="#bd37d71fa68b0980d832d992b427fd6a6bdb891d">
compiler/deSugar/Check.hs
</a>
</li>
<li class="file-stats">
<a href="#4cebcede53127700de963abffccad9d336d74889">
compiler/deSugar/DsExpr.hs
</a>
</li>
<li class="file-stats">
<a href="#0f33fd88c617246c7f89c4477d2d1d24f942df23">
compiler/ghc.cabal.in
</a>
</li>
<li class="file-stats">
<a href="#47f4bea1d308dee249030e6063d92071b5aac240">
compiler/ghci/Linker.hs
</a>
</li>
<li class="file-stats">
<a href="#2b3e067399771b3fa0f5379f12d4dbc25a19252e">
compiler/hsSyn/HsTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#11e9bfd841c4163c1919b5e07efc84740e02010f">
compiler/main/DynFlags.hs
</a>
</li>
<li class="file-stats">
<a href="#a5d2f1f03da18c26aa3c615ca829648a4a806a5b">
compiler/main/HscMain.hs
</a>
</li>
<li class="file-stats">
<a href="#e2d33310ae2b794523e977e3f2b48d7e1aafccae">
compiler/main/Settings.hs
</a>
</li>
<li class="file-stats">
<a href="#63c9d6e17d26bbb7f2d71094f5ffa2c67769ada0">
compiler/main/SysTools.hs
</a>
</li>
<li class="file-stats">
<a href="#b7f7fd18c8570ee142f7446887421946a6d3177f">
compiler/main/SysTools/Info.hs
</a>
</li>
<li class="file-stats">
<a href="#4039dc9c5a155ac264cf84037271eb8259a3f0a7">
compiler/main/SysTools/Tasks.hs
</a>
</li>
<li class="file-stats">
<a href="#6c14b513ade9b691d4a805f6a7de89634d3863ae">
compiler/main/TidyPgm.hs
</a>
</li>
<li class="file-stats">
<a href="#07ea27ca7b67f1025ae874e03f39c55610b0bb58">
compiler/main/ToolSettings.hs
</a>
</li>
<li class="file-stats">
<a href="#844514241b3e1a009f66bf594cbb57fef61482fb">
compiler/prelude/PrelRules.hs
</a>
</li>
<li class="file-stats">
<a href="#9715ddba4708ba02dac192a1f72fa50717761aff">
compiler/prelude/PrimOp.hs
</a>
</li>
<li class="file-stats">
<a href="#0188aac58d5dfb76292827933bb504a964ed7c01">
compiler/prelude/TysPrim.hs
</a>
</li>
<li class="file-stats">
<a href="#2a8bedbc781353ca3c4d1e56daba6faa8829aaf3">
compiler/prelude/primops.txt.pp
</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/0c544faecaf8dddc8a3df24bbe83e559158fdd93...4b9f06cd4dc96f1bbaa5b38961845fbed37d1b11">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>