<!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/winio
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/4bf18646acbb5a59ad8716aedc32acfe2ead0f58">4bf18646</a></strong>
<div>
<span>by Simon Peyton Jones</span>
<i>at 2020-07-03T08:37:42+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Improve handling of data type return kinds

Following a long conversation with Richard, this patch tidies up the
handling of return kinds for data/newtype declarations (vanilla,
family, and instance).

I have substantially edited the Notes in TyCl, so they would
bear careful reading.

Fixes #18300, #18357

In GHC.Tc.Instance.Family.newFamInst we were checking some Lint-like
properties with ASSSERT.  Instead Richard and I have added
a proper linter for axioms, and called it from lintGblEnv, which in
turn is called in tcRnModuleTcRnM

New tests (T18300, T18357) cause an ASSERT failure in HEAD.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/41d2649288a5debcb4c8003e54b7d3072ab951c5">41d26492</a></strong>
<div>
<span>by Sylvain Henry</span>
<i>at 2020-07-03T17:33:59-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">DynFlags: avoid the use of sdocWithDynFlags in GHC.Core.Rules (#17957)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/7aa6ef110d8cc6626b1cf18d85a37cbac53e2795">7aa6ef11</a></strong>
<div>
<span>by Hécate</span>
<i>at 2020-07-03T17:34:36-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add the __GHC_FULL_VERSION__ CPP macro to expose the full GHC version
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e61d539527a7398017f759c67621ba18a15878f7">e61d5395</a></strong>
<div>
<span>by Chaitanya Koparkar</span>
<i>at 2020-07-07T13:55:59-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ghc-prim: Turn some comments into haddocks

[ci skip]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/37743f91a3f5018a8894ca6d35e8b423e4e08b50">37743f91</a></strong>
<div>
<span>by John Ericson</span>
<i>at 2020-07-07T13:56:00-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Support `timesInt2#` in LLVM backend
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/46397e530e1b107c6b8932f7ca79ebab53a3249a">46397e53</a></strong>
<div>
<span>by John Ericson</span>
<i>at 2020-07-07T13:56:00-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">`genericIntMul2Op`: Call `genericWordMul2Op` directly

This unblocks a refactor, and removes partiality. It might be a PowerPC
regression but that should be fixable.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8a1c0584da40d0f8d1ffd01796efcce3b3d0820d">8a1c0584</a></strong>
<div>
<span>by John Ericson</span>
<i>at 2020-07-07T13:56:00-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Simplify `PrimopCmmEmit`

Follow @simonpj's suggestion of pushing the "into regs" logic into
`emitPrimOp`. With the previous commit getting rid of the recursion in
`genericIntMul2Op`, this is now an easy refactor.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6607f203fb9ad11af1463145810e1bd3c6c4f2c8">6607f203</a></strong>
<div>
<span>by John Ericson</span>
<i>at 2020-07-07T13:56:00-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">`opAllDone` -> `opIntoRegs`

The old name was and terrible and became worse after the previous
commit's refactor moved non-trivial funcationlity into its body.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/fdcc53babbd6c878344d2a3395bbd619428bd2dd">fdcc53ba</a></strong>
<div>
<span>by Sylvain Henry</span>
<i>at 2020-07-07T13:56:00-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Optimise genericIntMul2Op

We shouldn't directly call 'genericWordMul2Op' in genericIntMul2Op
because a target may provide a faster primop for 'WordMul2Op': we'd
better use it!
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/686e72253aed3880268dd6858eadd8c320f09e97">686e7225</a></strong>
<div>
<span>by Moritz Angermann</span>
<i>at 2020-07-07T13:56:01-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">[linker/rtsSymbols] More linker symbols

Mostly symbols needed for aarch64/armv7l
and in combination with musl, where we have
to rely on loading *all* objects/archives

- __stack_chk_* only when not DYNAMIC
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3f60b94de1f460ca3f689152860b108a19ce193e">3f60b94d</a></strong>
<div>
<span>by Moritz Angermann</span>
<i>at 2020-07-07T13:56:01-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">better if guards.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/7abffced01f5680efafe44f6be2733eab321b039">7abffced</a></strong>
<div>
<span>by Moritz Angermann</span>
<i>at 2020-07-07T13:56:01-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix (1)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cdfeb3f24f76e8fd30452016676e56fbc827789a">cdfeb3f2</a></strong>
<div>
<span>by Moritz Angermann</span>
<i>at 2020-07-07T13:56:01-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">AArch32 symbols only on aarch32.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f496c9550098ffaa3bf25a3447c138626d79bae0">f496c955</a></strong>
<div>
<span>by Adam Sandberg Ericsson</span>
<i>at 2020-07-07T13:56:02-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">add -flink-rts flag to link the rts when linking a shared or static library #18072

By default we don't link the RTS when linking shared libraries because in the
most usual mode a shared library is an intermediary product, for example a
Haskell library, that will be linked into some executable in the end. So we
wish to defer the RTS flavour to link to the final link.

However sometimes the final product is the shared library, for example when
writing a plugin for some other system, so we do wish the shared library to
link the RTS.

For consistency we also make -staticlib honor this flag and its inversion.
-staticlib currently implies -flink-shared.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c59faf67fec83c98ffd1b65f1be0775b34f36595">c59faf67</a></strong>
<div>
<span>by Stefan Schulze Frielinghaus</span>
<i>at 2020-07-07T13:56:04-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">hadrian: link check-ppr against debugging RTS if ghcDebugged
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0effc57d48ace6b719a9f4cbeac67c95ad55010b">0effc57d</a></strong>
<div>
<span>by Adam Sandberg Ericsson</span>
<i>at 2020-07-07T13:56:05-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts linker: teach the linker about GLIBC's special handling of *stat, mknod and atexit functions #7072
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9615343363a68313c4bfdb068696002ecca7786e">96153433</a></strong>
<div>
<span>by Adam Sandberg Ericsson</span>
<i>at 2020-07-07T13:56:06-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">hadrian: make hadrian/ghci use the bootstrap compiler from configure #18190
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/4d24f886a428e95eb5e962294c77b12bffa40a52">4d24f886</a></strong>
<div>
<span>by Adam Sandberg Ericsson</span>
<i>at 2020-07-07T13:56:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">hadrian: ignore cabal configure verbosity related flags #18131
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/7332bbffee9e2a712508540200eb52ed3d227426">7332bbff</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-07-07T13:56:08-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Widen T12234 acceptance window to 2%

Previously it wasn't uncommon to see +/-1% fluctuations in compiler
allocations on this test.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/180b63136f25d9fedb764cb9bc23637e7781ed4e">180b6313</a></strong>
<div>
<span>by Gabor Greif</span>
<i>at 2020-07-07T13:56:08-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">When running libtool, report it as such</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d3bd68978476487591fc60f7feb7cfb36b8fc3a3">d3bd6897</a></strong>
<div>
<span>by Sylvain Henry</span>
<i>at 2020-07-07T13:56:11-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">BigNum: rename BigNat types

Before this patch BigNat names were confusing because we had:

* GHC.Num.BigNat.BigNat: unlifted type used everywhere else
* GHC.Num.BigNat.BigNatW: lifted type only used to share static constants
* GHC.Natural.BigNat: lifted type only used for backward compatibility

After this patch we have:

* GHC.Num.BigNat.BigNat#: unlifted type
* GHC.Num.BigNat.BigNat: lifted type (reexported from GHC.Natural)

Thanks to @RyanGlScott for spotting this.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/929d26db3080ec49ab67690952a316fc082b479f">929d26db</a></strong>
<div>
<span>by Sylvain Henry</span>
<i>at 2020-07-07T13:56:12-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Bignum: don't build ghc-bignum with stage0

Noticed by @Ericson2314
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d25b6851bbd63b6a65fb7cd08b37c6bc74df9855">d25b6851</a></strong>
<div>
<span>by Sylvain Henry</span>
<i>at 2020-07-07T13:56:12-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: ghc-gmp.h shouldn't be a compiler dependency
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0ddae2ba979ac2e01d7d9f6b79a9559fbfde46ea">0ddae2ba</a></strong>
<div>
<span>by Sylvain Henry</span>
<i>at 2020-07-07T13:56:14-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">DynFlags: factor out pprUnitId from "Outputable UnitId" instance
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/204f3f5ddec56403bfb12e74291b3b1d14824138">204f3f5d</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2020-07-07T13:56:18-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove unused function pprHsForAllExtra (#18423)

The function `pprHsForAllExtra` was called only on `Nothing`
since 2015 (1e041b7382b6aa).
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cf3c9b03868a367649f265a4041e63b8fc973bb2">cf3c9b03</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T13:32:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Drop Windows Vista support, require Windows 7
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cdf6eb79c5d900a816674d5dbacaefed2fcedba2">cdf6eb79</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T13:32:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Update Windows FileSystem wrapper utilities.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d6b9fc40b1d1f8e6b55feb2ac07f1d585eec59af">d6b9fc40</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:02-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Use SlimReaderLocks and ConditonalVariables provided by the OS instead of emulated ones
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cb5b74997c3e00ade41df9a9be052df6fd240bc8">cb5b7499</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Small linker comment and ifdef cleanups
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8cc8a0f75848162679c8d06fce9f8169b4fe30b4">8cc8a0f7</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Flush event logs eagerly.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/5b149e1a33e3b0d7a1094cda581b4ca46aa55b38">5b149e1a</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Refactor Buffer structures to be able to track async operations
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/4c5bd53e444c441b0160001537513f22da515836">4c5bd53e</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Implement new Console API
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/4a953be9a0f674a09c0e22aa78f7dc154eae42a2">4a953be9</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Add IOPort synchronization primitive
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d7072e59e3acd5450c217ee815a3f911a925c6c7">d7072e59</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Add new io-manager cmdline options
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b320722bbac328d5cba45fa042b3ca705a508d32">b320722b</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Init Windows console Codepage to UTF-8.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1c8227554814390df779656bd3f9c2ecf58cb8c6">1c822755</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Add unsafeSplat to GHC.Event.Array
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/10043d175439bfefd3bae935123abcfc39f7fc6e">10043d17</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Add size and iterate to GHC.Event.IntTable.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9651ab6dfe41ce9879202d57c9bbeac36f768268">9651ab6d</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Switch Testsuite to test winio by default
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d74e88c829f493f3df603f2d4973c018778d095d">d74e88c8</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Multiple refactorings and support changes.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/94ccdcc2307fb3cb25ca826f27ac3e6d0a005716">94ccdcc2</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: core threaded I/O manager
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/555efe8ea92cb519af4325932d60575919134f36">555efe8e</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: core non-threaded I/O manager
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/bca098f433584c32bd9ebe98b1bbfe7c28206267">bca098f4</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix a scheduler bug with the threaded-runtime.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1f19cd5ae1e559a414fc0acfeb136920b4e48425">1f19cd5a</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Relaxing some constraints in io-manager.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1bf0fcbcda85d5eede5ad787886669abac312ce8">1bf0fcbc</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix issues with non-threaded I/O manager after split.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e5c4878e3db85f5231cb52285db3cbeff96012b8">e5c4878e</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Remove some barf statements that are a bit strict.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b52a9a9445eac9578daf5eda086c8ed76515201b">b52a9a94</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Expand comments describing non-threaded loop
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d0cc665366d492e1b13908804848eaf304fe80c0">d0cc6653</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: fix FileSize unstat-able handles
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/dea10a199121a7a96ab8d364f3e778d9ad108772">dea10a19</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Implement new tempfile routines for winio
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6f94d5968566486d41f8fded48b4151ac9427213">6f94d596</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix input truncation when reading from handle.

This was caused by not upholding the read buffer invariant
that bufR == bufL == 0 for empty read buffers.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/05f65c029a3cf0338b55f03bf637f3e622570891">05f65c02</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix output truncation for writes larger than buffer size
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3f302ad7b4d9dcb9a3e51ef53d07fd88577de067">3f302ad7</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:08-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Rewrite bufWrite.

I think it's far easier to follow the code now.
It's also correct now as I had still missed a spot
where we didn't update the offset.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c3bcbee0506efd2477a4deb73b7833e5fe6fd7ef">c3bcbee0</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:08-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix offset set by bufReadEmpty.

bufReadEmpty returns the bytes read *including* content that
was already buffered,
But for calculating the offset we only care about the number
of bytes read into the new buffer.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/48c651b1dfc281f250398e41142375c19e24d720">48c651b1</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:42-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Clean up code surrounding IOPort primitives.

According to phyx these should only be read and written once per
object. Not neccesarily in that order.

To strengthen that guarantee the primitives will now throw an
exception if we violate this invariant.

As a consequence we can eliminate some code from their primops.
In particular code dealing with multiple queued readers/writers
now simply checks the invariant and throws an exception if it
was violated. That is in contrast to mvars which will do things
like wake up all readers, queue multi writers etc.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/72fec4927217399a403bd455f0975dd90c553c69">72fec492</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:44-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix multi threaded threadDelay and a few other small changes.

Multithreaded threadDelay suffered from a race condition
based on the ioManagerStatus. Since the status isn't needed
for WIO I removed it completely.

This resulted in a light refactoring, as consequence we will always
wake up the IO manager using interruptSystemManager, which uses
`postQueuedCompletionStatus` internally.

I also added a few comments which hopefully makes the code easier to
dive into for the next person diving in.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/162343baf9fcd6310e66ac1c676433db2cf61576">162343ba</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:44-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">wionio: Make IO subsystem check a no-op on non-windows platforms.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b97e982996153dfa5c2227b22750ab63f7594577">b97e9829</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:44-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Set handle offset when opening files in Append mode.

Otherwise we would truncate the file.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6263c22db38ea6a2dd7f3a73d1d95eb983d0d4f8">6263c22d</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:44-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Remove debug event log trace
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e87655cff36b864e95cc5c4107fad4b493a2928a">e87655cf</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:44-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix sqrt and openFile009 test cases
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/448ad259f1d73d6b342d668d194b5c74374f386a">448ad259</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:44-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Allow hp2ps to build with -DDEBUG
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/57754fc998a2daed3253b6615335f72d46de9ad6">57754fc9</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:44-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Update output of T9681 since we now actually run it.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e2764c5c5a2d94dde036b277cb89c73e8a85e16f">e2764c5c</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:44-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: A few more improvements to the IOPort primitives.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2c30cafb23537cec29a044f8541fb684871f0e5e">2c30cafb</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:44-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix expected tempfiles output.

Tempfiles now works properly on windows, as such we can
delete the win32 specific output.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ae27ef791f5fadb92574dd73e3b071be0bb7a60f">ae27ef79</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:44-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Assign thread labels to IOManager threads.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/462307a1556e12a6d6e1be01026938ee3d7df7cd">462307a1</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:44-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Properly check for the tso of an incall to be zero.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c84c1ba2b6b92176f784dfca8405745ab265f6a3">c84c1ba2</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Mark FD instances as unsupported under WINIO.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cb70d1474900928efa571e901b62a5207f9eaf83">cb70d147</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix threadDelay maxBound invocations.

Instead of letting the ns timer overflow now clamp it at
(maxBound :: Word64) ns. That still gives a few hundred
years.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/dc231a3293897ba57899b938e88226bda02041ef">dc231a32</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Add comments/cleanup an import in base
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/30754f323afe4ea759911f4a5c3b02f989f494b6">30754f32</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Mark outstanding_service_requests volatile.

As far as I know C(99) gives no guarantees for code like

    bool condition;

    ...

    while(condition)
        sleep();

that condition will be updated if it's changed by another thread.
So we are explicit here and mark it as volatile, this will force
a reload from memory on each iteration.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/66a2af394a397b1f012ceac89c5870b841712d9b">66a2af39</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Make last_event a local variable
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9257ce5d9116dff7d6b077539fc8ee9d672abd35">9257ce5d</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Add comment about thread safety of processCompletion.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/85d56030e6102ee4211c7fcb188308c25a924768">85d56030</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: nonthreaded: Create io processing threads in main thread.

We now set a flag in the IO thread. The scheduler when looking for work
will check the flag and create/queue threads accordingly.

We used to create these in the IO thread. This improved performance
but caused frequent segfaults. Thread creation/allocation is only safe to
do if nothing currently accesses the storeagemanager. However without
locks in the non-threaded runtime this can't be guaranteed.

This shouldn't change performance all too much.

In the past we had:
* IO: Create/Queue thread.
* Scheduler: Runs a few times. Eventually picks up IO processing thread.

Now it's:
* IO: Set flag to queue thread.
* Scheduler: Pick up flag, if set create/queue thread. Eventually picks up IO processing thread.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8e9b937f0e359428f72d466d505f8ed55a693a31">8e9b937f</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Add an exported isHeapAlloced function to the RTS
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e4504115befc712031a0d8aa39186f8668859c95">e4504115</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Queue IO processing threads at the front of the queue.

This will unblock the IO thread sooner hopefully leading to higher
throughput in some situations.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/7964eaaf14a7238fd20d1646d01ce375f7f06cd8">7964eaaf</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: ThreadDelay001: Use higher resolution timer.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/576e57c44641dd528503234ed4e77ebbe44f052c">576e57c4</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Update T9681 output, disable T4808 on windows.

T4808 tests functionality of the FD interface which won't be supported
under WINIO.

T9681 just has it's expected output tweaked.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/68d22b2a6223ab5a835c7c0a6b787e584c5dbe9d">68d22b2a</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Wake io manager once per registerTimeout.

Which is implicitly done in editTimeouts, so need to wake it
up twice.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d4717f23b948cbbf5c5f6b0dbb84ab39655780a9">d4717f23</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Update placeholder comment with actual function name.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2a541a40e1cfbc0ed7234964d39ded0b461db172">2a541a40</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Always lock win32 event queue
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/07ea3c19eabca62cf591af427911bcf49d2dda5f">07ea3c19</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Display thread labels when tracing scheduler events.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/250951fc355ca2d4667ef8fd3188b233712c4a2e">250951fc</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Refactor non-threaded runner thread and scheduler interface.

Only use a single communication point (registerAlertableWait) to inform
the C side aobut both timeouts to use as well as outstanding requests.

Also queue a haskell processing thread after each return from alertable
waits. This way there is no risk of us missing a timer event.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/750b50d673fe5d0b972cfaffa8a9c5e4c2805b96">750b50d6</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Remove outstanding_requests from runner.

We used a variable to keep track of situations where we got
entries from the IO port, but all of them had already been
canceled. While we can avoid some work that way this case
seems quite rare.

So we give up on tracking this and instead always assume at
least one of the returned entries is valid.

If that's not the case no harm is done, we just perform some
additional work. But it makes the runner easier to reason about.

In particular we don't need to care if another thread modifies
oustanding_requests after we return from waiting on the IO Port.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3a5b1d612bc707d49ffeeb2c2e0c826cc395a579">3a5b1d61</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Various fixes related to rebase and testdriver
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/dd22c99c6efd9aa01e81a97aaf0ece649e5051fa">dd22c99c</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix rebase artifacts
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/660b75811f216e3c2bc0dfdfd7c60fc935f3566e">660b7581</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Rename unsafeSplat to unsafeCopyFromBuffer
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3cee740d754652fce3f82ec9787574efa8388f8b">3cee740d</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Remove unused size/iterate operations from IntTable
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a4c579de015f0dc982247b9eb3e8d9812786d40c">a4c579de</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Detect running IO Backend via peeking at RtsConfig
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/34762dcb32a4d3005e758891529fe793a86c85f5">34762dcb</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: update temp path so GCC etc can handle it.

Also fix PIPE support, clean up error casting, fix memory leaks
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/19495735592c1e95d3725f84c5733d40a0a835e1">19495735</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Minor comments/renamings
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/933a02623547b51fb6129d5ae48d626ac391fe8a">933a0262</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Checking if an error code indicates completion is now a function.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/856deec0e53844bd1481ba143599150e2ee04512">856deec0</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Small refactor in withOverlappedEx
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2c1b2456556f354f03489c8ae759c8864d3abf83">2c1b2456</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: A few comments and commented out dbxIO
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cb4d1deb5040f37e256a9dc65daf06a44c28be8a">cb4d1deb</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Don't drop buffer offset in byteView/cwcharView
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a22e2af1d7d078cdab24739e5805818d64cc75c1">a22e2af1</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: revert BHandle changes.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9493716fc2cdd8df34e90bbb99f21381a5d80c98">9493716f</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix imports
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/dd4b4577dbd3bf81939f81f6d0c43a0080b07ba7">dd4b4577</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: update ghc-cabal to handle new Cabal submodule bump
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1103274112caebf772af12582fe56ba3e8f3433b">11032741</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Only compile sources on Windows
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3889b2a66dd2c53261308aec70fe8d9e192f00c5">3889b2a6</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Actually return Nothing on EOF for non-blocking read
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/52114c0ece1725d18ae113fbd56c7c00927de3ea">52114c0e</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Deduplicate logic in encodeMultiByte[Raw]IO.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cecaa0cc1f447eb5a1798cd04b61d9e90faa5d5e">cecaa0cc</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Deduplicate openFile logic
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/49b99d0f08faa81358ea2474569d7fe5fecd241d">49b99d0f</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: fix -werror issue in encoding file
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/acce0592ef798ac09b27495ea52c6bcf2f859775">acce0592</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Don't mention windows specific functions when building on Linux.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c7ad1fd70805758d8a4fe801d4138582d7918b23">c7ad1fd7</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: add a note about file locking in the RTS.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d6a9c25adeceeedf0d0b3f4ba9c1edacfaaa7227">d6a9c25a</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Add version to @since annotation
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/530818d6a0ffb6227a195aaf821917c664e73f58">530818d6</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Rename GHC.Conc.IOCP -> GHC.Conc.WinIO
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f4193f0d073a2dc995ebe3dceaa9b7ca9aff0a2a">f4193f0d</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Expand GHC.Conc.POSIX description

It now explains users may not use these functions when
using the old IO manager.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a1a2642cc69ac81480c04aabae9d5aa5fbd3af05">a1a2642c</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix potential spaceleak in __createUUIDTempFileErrNo
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/22e6b2d5ff7d31658164526c14ab7e6dd61f552a">22e6b2d5</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Remove redundant -Wno-missing-signatures pragmas
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/54434bdda0be9864962a3c7e057e3814ea946342">54434bdd</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Make it explicit that we only create one IO manager
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/455a1325b4ec1e2dfab9d22daca0cfc1763d8db3">455a1325</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Note why we don't use blocking waits.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cc6e355ccefab25b9f8c077a52cf5aa20b80f147">cc6e355c</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Remove commented out pragma
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e122e685167d4b0fe810a420a65cdb8575d48275">e122e685</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Remove redundant buffer write in Handle/Text.hs:bufReadEmpty
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cd37bb5757ec7a0cb9cddbbae372efe13a966a3d">cd37bb57</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Rename SmartHandles to StdHandles
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/42f1f10135849cbfe94be62715ac72a61fb0c88c">42f1f101</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: add comment stating failure behaviour for getUniqueFileInfo.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2a6e604f754ffb1188c0fa730331aa269c49ac3a">2a6e604f</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Update IOPort haddocks.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/fcb9b00aca31303ac9d883bacf184f40c520374e">fcb9b00a</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Add a note cross reference
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9de44cbd6b28f70939bc5b759c754629fa6e9f8a">9de44cbd</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Name Haskell/OS I/O Manager explicitly in Note
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/985dea4ff6400fead53acb73cc1d6089a9bb266d">985dea4f</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Expand BlockedOnIOCompletion description.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2fd02493ef5f02405281a7e86b6b9584ec710f06">2fd02493</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Remove historical todos
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/39a84aeb8fc940ccc4d102155eeb140677116ede">39a84aeb</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Update note, remove debugging pragma.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/4b0d504b31abeb79d407b7b7bfa8d76ad708360b">4b0d504b</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: flushCharReadBuffer shouldn't need to adjust offsets.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/543c3b0ca88eb9ec256b499646f74197585f0ab7">543c3b0c</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Remove obsolete comment about cond. variables
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/40ef4e9e22fc601e7e88e5ea86c466729b23a4b6">40ef4e9e</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: fix initial linux validate build
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6400dfdf0fc9fbfb816f50301ec44ca1750182e3">6400dfdf</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix ThreadDelay001 CPP
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c8a95929494af8b8d1c7b118c24bca33bbdb66dc">c8a95929</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix openFile009 merge conflict leftover
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b381917f09097a2623ad31e9cc14d35491bbd82f">b381917f</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Accept T9681 output.

GHC now reports String instead of [Char].
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/20b8ef2a33184eaf86d830f569ad0bfdefda8e45">20b8ef2a</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix cabal006 after upgrading cabal submodule

Demand cabal 2.0 syntax instead of >= 1.20 as required by newer cabal versions.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/816f5307e9c2bd6b0bbc2eaf273d691aa99538eb">816f5307</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Fix stderr output for ghci/linking/dyn tests.

We used to filter rtsopts, i opted to instead just accept the warning of it having no effect.
This works both for -rtsopts, as well as -with-rtsopts which winio adds.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6b833fea9b9b14142909196877be8115ee4b342e">6b833fea</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Adjust T15261b stdout for --io-manager flag.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d5688ad6ef75a538d1963d719603a91a704441fb">d5688ad6</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Adjust T5435_dyn_asm stderr

The warning about rtsopts having no consequences is expected.
So accept new stderr.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/daf490128bfad52e318f3c789dc9dc9ad3703d55">daf49012</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Also accept T7037 stderr
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/46c8a57183837c87bea29d028081ff15b8fb777c">46c8a571</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: fix cabal04 by filtering rts args
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1e226ce5d2cc1e7a49cbaf6e86847490132379b0">1e226ce5</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: fix cabal01 by accepting expected stderr
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d52f9cc38f521e8d394942ba4f700a3f059a0e7c">d52f9cc3</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:46-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: fix safePkg01 by accepting expected stderr
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ffddb2783a903003a8fd5b5210aa76c2d9932e76">ffddb278</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:47-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: fix T5435_dyn_gcc by accepting expected stderr
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f3739f432349350784afa4dc797265b45a03e356">f3739f43</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:47-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: fix tempfiles test on linux
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6c40e234b1e55726aeffab93e2006fc8cca16d2a">6c40e234</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:47-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Accept accepted stderr for T3807
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/fd992cfc49be9b09b1a62b69c47e4911249e15f5">fd992cfc</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:47-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Accept accepted stderr for linker_unload
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/00806f1a2b05e44d3b150c3854c5958c5ec4686b">00806f1a</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2020-07-08T14:58:47-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: Accept accepted stderr for linker_unload_multiple_objs
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/08fe2489976b319b94fbe2718684f6c8ffdae223">08fe2489</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:47-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: clarify wording on conditional variables.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f7ab465738bfbf9e8771b4ea87318fafeebec440">f7ab4657</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:47-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: clarify comment on cooked mode.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/21b71f6bb5ab51d89fdb2c1cb07d624c61605619">21b71f6b</a></strong>
<div>
<span>by Tamar Christina</span>
<i>at 2020-07-08T14:58:47-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">winio: update lockfile signature and remove mistaken symbol in rts.
</pre>
</li>
</ul>
<h4>28 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#836efb6e25a091dcb4ff8e1dbb2f0be6a5cbf14c">
Makefile
</a>
</li>
<li class="file-stats">
<a href="#0887cf39c5cdf9cf8d6758f410d7dab3023c0d77">
compiler/GHC/Builtin/Names.hs
</a>
</li>
<li class="file-stats">
<a href="#a1519b7fe8a0d4b42e4aaa927fb6ab5b5da0fcdd">
compiler/GHC/Builtin/PrimOps.hs
</a>
</li>
<li class="file-stats">
<a href="#8a5cd068459120cddf3814e7b9e02003b87647ba">
compiler/GHC/Builtin/Types/Prim.hs
</a>
</li>
<li class="file-stats">
<a href="#451725cc4e5d443a3b7c2adcdf224840f953b7e2">
compiler/GHC/Builtin/primops.txt.pp
</a>
</li>
<li class="file-stats">
<a href="#a49dbda5c8a9c380f638f55cf5ade791db0017cc">
compiler/GHC/CmmToLlvm/CodeGen.hs
</a>
</li>
<li class="file-stats">
<a href="#f10ed7a2470454dfdd8691a08beba67d8b78ee70">
compiler/GHC/Core/Coercion/Axiom.hs
</a>
</li>
<li class="file-stats">
<a href="#6fcf64907fb5bdd93082d2d1eb94e4566e735865">
compiler/GHC/Core/DataCon.hs
</a>
</li>
<li class="file-stats">
<a href="#91648438362e5a35363d2bb7abb04016dedd7d7e">
compiler/GHC/Core/FamInstEnv.hs
</a>
</li>
<li class="file-stats">
<a href="#36a42448a83a9d1f6df8475f03ead2eed199dd8e">
compiler/GHC/Core/Lint.hs
</a>
</li>
<li class="file-stats">
<a href="#f2f5de8b9f31451d693079c2a2d27fb47b18a3f4">
compiler/GHC/Core/Opt/Driver.hs
</a>
</li>
<li class="file-stats">
<a href="#f168a93cde5e2aec2441d6331dfe500172df4af3">
compiler/GHC/Core/Opt/Simplify.hs
</a>
</li>
<li class="file-stats">
<a href="#ab22d7ae4d245581b701367e386d7e886e416e76">
compiler/GHC/Core/Opt/Specialise.hs
</a>
</li>
<li class="file-stats">
<a href="#d01de95d8c71d4dec6a9a59146186e29a5b3fd38">
compiler/GHC/Core/Rules.hs
</a>
</li>
<li class="file-stats">
<a href="#4aad0050db1a8a20db8bbca149111de99cb299c9">
compiler/GHC/Core/TyCon.hs
</a>
</li>
<li class="file-stats">
<a href="#84c9d3ba34173297e7d7747e02caa2e004b164fc">
compiler/GHC/Core/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#2e5692f568fd7b67a6b172e2a60469da8392508c">
compiler/GHC/Driver/Flags.hs
</a>
</li>
<li class="file-stats">
<a href="#b8e6af642e56019828828dc679683c04afb81867">
compiler/GHC/Driver/Pipeline.hs
</a>
</li>
<li class="file-stats">
<a href="#774d88050336ef660c7a219fb06c480c2fc639bc">
compiler/GHC/Driver/Session.hs
</a>
</li>
<li class="file-stats">
<a href="#018be522bc4813b147a1525e4f96a7a493207d96">
compiler/GHC/Hs/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#d12a108e34fe83acc9c99357ae841e22a0af0a23">
compiler/GHC/StgToCmm/Prim.hs
</a>
</li>
<li class="file-stats">
<a href="#da695c624a1f82e3d4e3097fd8be3602ffc1ae92">
compiler/GHC/SysTools.hs
</a>
</li>
<li class="file-stats">
<a href="#e4f4871902af28facfdacba8697b4fe35b149bc9">
compiler/GHC/SysTools/Info.hs
</a>
</li>
<li class="file-stats">
<a href="#44b98437cdd35d6836caab46e32906e669708388">
compiler/GHC/SysTools/Tasks.hs
</a>
</li>
<li class="file-stats">
<a href="#9355bef855426caf5f526925edf351b20f9a86c4">
compiler/GHC/Tc/Gen/HsType.hs
</a>
</li>
<li class="file-stats">
<a href="#07389a8f0516c26409d86f6bb651ed00759b5d4c">
compiler/GHC/Tc/Instance/Family.hs
</a>
</li>
<li class="file-stats">
<a href="#e65390fa5a32c453a81a1c9a3e1c4464d155ca4a">
compiler/GHC/Tc/Module.hs
</a>
</li>
<li class="file-stats">
<a href="#83d23a46bb6cdc8b1edc16f1fd2c8f5c53e2c9ca">
compiler/GHC/Tc/TyCl.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/f20bdee3cb580c4ec3adac3ed6155370bdbf6b5f...21b71f6bb5ab51d89fdb2c1cb07d624c61605619">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>