<!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/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/2639874932dc91973a09bf857be579c3c0e49bdf">26398749</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T13:54:16Z</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/6229e3b8d72d09ccbd543e1e9b0bfe1243a85816">6229e3b8</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T13:54:16Z</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/ce815fbdcc18f0578740a8a7b8b65da43563764e">ce815fbd</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T13:54:16Z</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/5b37bbc82acbf7bf401255788d6f53c2fd27868c">5b37bbc8</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T13:54:17Z</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/4cd114e1f87169f54c8b10fff9ac0e94fba37d32">4cd114e1</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T13:54:17Z</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/af6358676074436a11a02bdf62d6b9b0dd4a348b">af635867</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T13:54:17Z</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/cfa28aa9ad83c205d5c5328b290ca90f38e351c2">cfa28aa9</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-12T13:54:17Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Don't allow Windows make job to fail

While linking is still slow (#16084) all of the correctness issues which were
preventing us from being able to enforce testsuite-green on Windows are now
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="#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="#ea8bbb0a899d95f501cc47d9394f2f8dd3763b18">
compiler/cmm/Hoopl/Block.hs
</a>
</li>
<li class="file-stats">
<a href="#61470c7221010080ec380a45874259d0ed73da4a">
compiler/cmm/PprC.hs
</a>
</li>
<li class="file-stats">
<a href="#4a84a32022bec03831decce7dccbe5e2f1f0f0d8">
compiler/codeGen/StgCmmExtCode.hs
</a>
</li>
<li class="file-stats">
<a href="#b9c97a47b4d7d9443a2b066938a6e4433cf11c86">
compiler/codeGen/StgCmmMonad.hs
</a>
</li>
<li class="file-stats">
<a href="#da5742c4b404a672740f0eef71683f5a8dd3818e">
compiler/coreSyn/CoreLint.hs
</a>
</li>
<li class="file-stats">
<a href="#b330982a833038b785b1f9db1eb6ec91ded5e7f0">
compiler/deSugar/Coverage.hs
</a>
</li>
<li class="file-stats">
<a href="#0f33fd88c617246c7f89c4477d2d1d24f942df23">
compiler/ghc.cabal.in
</a>
</li>
<li class="file-stats">
<a href="#fd3bbb2f991fadcc57d80b64e3152d27b0a2b6f6">
compiler/ghci/ByteCodeAsm.hs
</a>
</li>
<li class="file-stats">
<a href="#95e1315fd78f0f670f8d66e1c0786eee695a7666">
compiler/ghci/ByteCodeGen.hs
</a>
</li>
<li class="file-stats">
<a href="#ceaa3a70693bfe7556310fe1489fc1e3f9d09775">
compiler/ghci/GHCi.hs
</a>
</li>
<li class="file-stats">
<a href="#8edc819d4b7e02c1439ca8bb128a773a9d2ab2cd">
compiler/hsSyn/Convert.hs
</a>
</li>
<li class="file-stats">
<a href="#cea099f0a8458f389428fa0aa831d43169d329bf">
compiler/hsSyn/HsBinds.hs
</a>
</li>
<li class="file-stats">
<a href="#cacd8cbc59c36ab8a39258a3a1dd6c44ad547d49">
compiler/llvmGen/LlvmCodeGen/Base.hs
</a>
</li>
<li class="file-stats">
<a href="#cb9107424971bb3eb7adc1726c3711099f945d0f">
compiler/main/Annotations.hs
</a>
</li>
<li class="file-stats">
<a href="#cd21725430fed2460b5933650dac5bc10af0167d">
compiler/main/CmdLineParser.hs
</a>
</li>
<li class="file-stats">
<a href="#11e9bfd841c4163c1919b5e07efc84740e02010f">
compiler/main/DynFlags.hs
</a>
</li>
<li class="file-stats">
<a href="#0e00721e700548fa4d64d1cb319ef71465fbd8f0">
compiler/main/DynamicLoading.hs
</a>
</li>
<li class="file-stats">
<a href="#b5c3aab16d766666149eb971c126ff3cfc4eccf6">
compiler/main/GhcMake.hs
</a>
</li>
<li class="file-stats">
<a href="#23ce5d015fd60afb62684e6e62f814e5f26f8c81">
compiler/main/GhcMonad.hs
</a>
</li>
<li class="file-stats">
<a href="#a7d05a7194ce9665362b8cb2a6e3cb5bd39f2965">
compiler/main/HscTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#5d0dd00f1f48ce550525e86ce8524408f8b3fb89">
compiler/main/PipelineMonad.hs
</a>
</li>
<li class="file-stats">
<a href="#6c14b513ade9b691d4a805f6a7de89634d3863ae">
compiler/main/TidyPgm.hs
</a>
</li>
<li class="file-stats">
<a href="#34189e68ae2846ea6a5011a0869bbf30db1f73e5">
compiler/nativeGen/AsmCodeGen.hs
</a>
</li>
<li class="file-stats">
<a href="#6813443a69e922e51676d5b46a3d4b8a8a68aff9">
compiler/nativeGen/NCGMonad.hs
</a>
</li>
<li class="file-stats">
<a href="#23aebcdf16673b735e637debea3f144bd0c88d9b">
compiler/nativeGen/RegAlloc/Linear/State.hs
</a>
</li>
<li class="file-stats">
<a href="#844514241b3e1a009f66bf594cbb57fef61482fb">
compiler/prelude/PrelRules.hs
</a>
</li>
<li class="file-stats">
<a href="#f39c3af3fb50116eacfc5f437ab61dbe27ab59ac">
compiler/rename/RnExpr.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/62c0248a72fc18cb43f2a87c5b8d5a55ff47351e...cfa28aa9ad83c205d5c5328b290ca90f38e351c2">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>