<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en" style='--code-editor-font: var(--default-mono-font, "GitLab Mono"), JetBrains Mono, Menlo, DejaVu Sans Mono, Liberation Mono, Consolas, Ubuntu Mono, Courier New, andale mono, lucida console, monospace;'>
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>
<style data-premailer="ignore" type="text/css">
a { color: #1068bf; }
</style>
<style>img {
max-width: 100%; height: auto;
}
body {
font-size: .875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px;
}
body {
font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; font-size: inherit;
}
</style>
</head>
<body style='font-size: inherit; -webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px; font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";'>
<div class="content">
<h3 style="margin-top: 20px; margin-bottom: 10px;">
Andreas Klebinger pushed to branch ghc-9.10 at <a href="https://gitlab.haskell.org/ghc/ghc">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
Commits:
</h4>
<ul>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/128825be39d21e45a8ecd672c5cf8a43ef4799fd">128825be</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2025-02-06T13:28:48+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Consider Wanteds with rewriters as insoluble
This MR fixes #25325
See GHC.Tc.Types.Constraint, Note [Insoluble Wanteds], especially (IW2)
There is a small change in the error message for T14172, but it looks
entirely acceptable to me.
(cherry picked from commit 083703a12cd34369e7ed2f0efc4a5baee47aedab)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d6f6d92738a1d8e5df6422c8e3438101501103ee">d6f6d927</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2025-02-06T13:29:07+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Wibbles
(cherry picked from commit 0dfaeb66fb8457e7339abbd44d5c53a81ad8ae3a)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8ee0a3df1fe655197c104969d5536d5e2636f5a9">8ee0a3df</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2025-02-06T13:29:14+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Spelling errors
(cherry picked from commit 09d24d828e48c2588a317e6dad711f8673983703)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/68d3ab8bc994cb540e4ee67aa20fe70cff8e0dfe">68d3ab8b</a></strong>
<div>
<span> by Arnaud Spiwack </span> <i> at 2025-02-06T13:45:53+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Don't bypass MonoLocalBind in empty patterns
Fixes #25428
(cherry picked from commit 52d97f4ecd37bf598560dbded2d50649db5cfe1d)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/15ca7b2c06f9727b7a8c5ca663c3b6779489daa6">15ca7b2c</a></strong>
<div>
<span> by Andreas Klebinger </span> <i> at 2025-02-06T14:25:25+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>hadrian: Bump directory bound to >=1.3.9
Earlier versions of `directory` are racy on Windows due to #24382.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/420e924472e9867764cf90f76e7ccff27aa8a116">420e9244</a></strong>
<div>
<span> by Andreas Klebinger </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Revert "AArch64: Implement switch/jump tables (#19912)"
This reverts commit 9b4326cf4180eb70f7474aa143b46a49cb69306f.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8871bb896c162594767635482cc5a41b812f301b">8871bb89</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>rts/linker: Fix out-of-bounds mapping logic
Previously the structure of `mmapInRegion` concealed a subtle bug
concerning handling of `mmap` returning mappings below the beginning of
the desired region. Specifically, we would reset `p = result + bytes`
and then again reset `p = region->start` before looping around for
another iteration. This resulted in an infinite loop on FreeBSD.
Fixes #25492.
(cherry picked from commit 292ed74ea908b64490e91346b890cbebdcde37d0)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/663c17113bcb072256fbf1681130e6f3e22f375c">663c1711</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>rts/linker: Clarify debug output
(cherry picked from commit 20912f5bac6fe4146172accc1849d9b762eb45e3)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9b2e13db374b71de22e2b5c826466de5a4baedde">9b2e13db</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>hadrian: Mitigate mktexfmt race
At least some versions of Texlive's `mktexfmt` utility cannot be invoked
concurrently in their initial run since they fail to handle failure of
`mkdir` due to racing. Specifically, we see
```
| Run Xelatex: users_guide.tex => /tmp/extra-dir-9616886274866
| Run Xelatex: Haddock.tex => /tmp/extra-dir-9616886274869
This is XeTeX, Version 3.14159265-2.6-0.999992 (TeX Live 2020) (preloaded format=xelatex)
restricted \write18 enabled.
kpathsea: Running mktexfmt xelatex.fmt
mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence order):
mktexfmt: /usr/share/texlive/texmf-dist/web2c/fmtutil.cnf
mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
mktexfmt: /builds/ghc/ghc/tmp-home/.texlive2020/texmf-config/web2c/fmtutil.cnf
/usr/bin/mktexfmt: mkdir(/builds/ghc/ghc/tmp-home/.texlive2020/texmf-var/web2c/) failed for tree /builds/ghc/ghc/tmp-home/.texlive2020/texmf-var/web2c: File exists at /usr/share/texlive/tlpkg/TeXLive/TLUtils.pm line 937.
I can't find the format file `xelatex.fmt'!
```
That is two `mktexfmt` invocations (for the user's guide and haddock
builds) attempted to create `$HOME/texlive2020/texmf-var/web2c` and
raced. One of the two `mkdir`'s consequently failed, bringing down the
entire build.
We avoid this by ensuring that the first `xelatex` invocation is always
performed serially.
Fixes #25564.
(cherry picked from commit 41dae5b86955094aa4c5647f63f1f52f1a8a5519)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/4b00e0dc0ea20ad9f5fa3dfbe097f6679900cd26">4b00e0dc</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>rts/CheckUnload: Reset old_objects if unload is skipped
Previously `checkUnload` failed to reset `old_objects` when it decided
not to unload (e.g. due to heap profiling being enabled).
Fixes #24935.
(cherry picked from commit 9efbc51f99118e8f9c3abf2bcb6dc3295893ded6)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/653b86aee8856b2eab57d4761c8b627198b0cda5">653b86ae</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>rts(setNumCapabilities): Assert that n_caps < MAX_N_CAPS
It was noticed in #25560 that this would previously be allowed,
resulting in a segfault.
I will add a proper exception in `base` in a future commit.
(cherry picked from commit f08a72eb484193934c56e34366b277f4d7247a24)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1e7ef0a197c280a4c8cc3d8418f09576edb72ec2">1e7ef0a1</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>ghc-internal: Fix inconsistent FFI import types
The foreign imports of `enabled_capabilities` and
`getNumberOfProcessors` were declared as `CInt` whereas they are defined
as `uint32_t`.
(cherry picked from commit e10d31ad849b5f7c1f052e7c93f7c7aaf85918c9)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e3b3358fa8524d2727374724e04b07baa2cb82dc">e3b3358f</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>rts: Mention maximum capability count in users guide
Addresses #25560.
(cherry picked from commit 06265655bfe6b48cde6923a933d81c9889a443a3)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9229aef9b2272232ace61b75ed7a27690e208c20">9229aef9</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>rts/Capability: Move induction variable declaration into `for`s
Just a stylistic change.
(cherry picked from commit d488470ba302760cfd2f3515d9338d1d75f84dd5)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a1791350ab5702a356bbb0082a4da97a83bce40e">a1791350</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>rts: Determine max_n_capabilities at RTS startup
Previously the maximum number of capabilities supported by the RTS was
statically capped at 256. However, this bound is uncomfortably low given
the size of today's machine.
While supporting unbounded, fully-dynamic adjustment would be nice, it
is complex and so instead we do something simpler: Probe the logical
core count at RTS startup and use this as the static bound for the rest
of our execution.
This should avoid users running into the capability limit on large
machines while avoiding wasting memory on a large capabilities array for
most users and keeping complexity at bay.
Addresses #25560.
(cherry picked from commit 71f050b74eaa2fdc2ca5da53f85497ac94ab6a2a)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b8efe3165ffcae84765def655411eb9e60736cd5">b8efe316</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>testsuite: Introduce req_c_rts
As suggested by @hsyl20, this is intended to mark tests that rely on the
behavior of the C RTS.
(cherry picked from commit 1e84b41108d96cb721dd11281105fdf621105a12)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/4a48042c0d1fa5933618b6824f93aed06e4cf8c5">4a48042c</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>testsuite: Add test for #25560
(cherry picked from commit 683115a40fd989a287fa51efe140af9448526098)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ae36c9e73b47fc387455f73c06ff4d0b67d85610">ae36c9e7</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>rts/CheckUnload: Don't prepare to unload if we can't unload
Previously `prepareUnloadCheck` would move the `objects` list to
`old_objects` even when profiling (where we cannot unload). This caused
us to vacate the `objects` list during major GCs, losing track of loaded
objects. Fix this by ensuring that `prepareUnloadCheck` and
`checkUnload` both use the same short-cutting logic.
(cherry picked from commit 34d3e8e69b62b92cc438514f7fb8e37ce639efea)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8c363c54677d7c245c717b68756cd7c021fec511">8c363c54</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>typechecker: Perform type family consistency checks in topological order
Consider a module M importing modules A, B and C.
We can waste a lot of work depending on the order that the modules are
checked for family consistency.
Consider that C imports A and B. When compiling C we must have already
checked A and B for consistency, therefore if C is processed first then
A and B will not need to be checked for consistency again.
If A and B are compared first, then the consistency checks will be
performed against (wasted as we already performed them for C).
At the moment the order which modules are checked is non-deterministic.
Clearly we should engineer that C is checked before B and A, but by what
scheme?
A simple one is to observe that if a module M is in the transitive
closure of X then the size of the consistent family set of M is less
than or equal to size of the consistent family set of X.
Therefore by sorting the imports by the size of the consistent family
set and processing the largest first, you make sure to process modules
in topological order.
In practice we have observed that this strategy has reduced the amount
of consistency checks performed.
One solution to #25554
(cherry picked from commit 13fe48d40004d9cdf3c73300a18f144bdc5191d9)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a31ca08b124217f57b8988620b03d31749eec448">a31ca08b</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>rts: Fix incorrect format specifiers in era profiling
Fixes #25581.
(cherry picked from commit 430d965a176d6c9e629d169fa0606923275c8332)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/045ff13b1930c0ecec5f663d33ed921e5bf0c6f8">045ff13b</a></strong>
<div>
<span> by Cheng Shao </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>ci: minor nix-in-docker improvements
This patch makes some minor improvements re nix-in-docker logic in the
ci configuration:
- Update `nixos/nix` to the latest version
- Apply $CPUS to `cores`/`max-jobs` to avoid oversubscribing while
allowing a reasonable degree of parallelism
- Remove redundant `--extra-experimental-features nix-command` in
later `nix shell` invocations, it's already configured in
`/etc/nix/nix.conf`
(cherry picked from commit 291388e18b5b61a02a43cc153a642fd67d6127c4)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/852c738e5c2d31f4d58d0fdddc8544902ebee6e2">852c738e</a></strong>
<div>
<span> by Zubin Duggal </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>ghcup metadata: output metadata fragment in CI
(cherry picked from commit 52b58a660e735b20961d792d8fa9267f01247a50)
(cherry picked from commit 04433916cdedab80114cbed1dc399ae816bada91)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1f594b60a71078e481b7280a1ca500c61b66ed7a">1f594b60</a></strong>
<div>
<span> by Zubin Duggal </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>ghcup metatdata: use fedora33 for redhat
Redhat 9 doesn't have libtinfo.so.5 anymore
(cherry picked from commit dc86785eb43afd1bd292287c064fb5ad94fe8c7f)
(cherry picked from commit 7c78804e3b25d2c0246cd1f3ce0d4015431e5831)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/98d0ec4e5f9030edb4f8d1a1f56ff8c11ad2c6bc">98d0ec4e</a></strong>
<div>
<span> by Zubin Duggal </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>ghcup metadata: still use centos for redhat <9
(cherry picked from commit 1d72cfb2c1054bc8a399855d5c68443c969d2f66)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/29e25ab02e38de065239827d56de1ed4a63512b1">29e25ab0</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2025-02-14T13:10:44+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Preserve orientation when unifying kinds
This MR fixes yet another manifestation of the trickiness caused
by Note [Fundeps with instances, and equality orientation].
I wish there was a more robust way to do this, but this fix is
a definite improvement.
Fixes #25597
(cherry picked from commit 63d63f9d3e074c3bcf5b526ee14e50cb2b6b9d70)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/418b6bc7aa26b1dee375d8cd4894be615aeaa9d0">418b6bc7</a></strong>
<div>
<span> by ARATA Mizuki </span> <i> at 2025-02-14T13:37:49+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Fix LLVM version detection
With a recent LLVM, `llc -version` emits the version on the first line
if the vendor is set. It emits the version on the second line
otherwise.
Therefore, we need to check the both lines to detect the version.
GHC now emits a warning if it fails to detect the LLVM version,
so we can notice if the output of `llc -version` changes in the future.
Also, the warning for using LLVM < 10 on s390x is removed, because
we assume LLVM >= 13 now.
This fixes the definition of __GLASGOW_HASKELL_LLVM__ macro.
Fixes #25606
(cherry picked from commit a928c326011f1a6bef3289a4c36d4e19b5951229)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f48478846d3bf9bc989d3b8b09bfeff2d0157c73">f4847884</a></strong>
<div>
<span> by Cheng Shao </span> <i> at 2025-02-14T13:37:58+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>xxhash: bump to v0.8.3
(cherry picked from commit 42826a8941ecedd329844b675e26d30bdb6cd46b)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a7402f4129e1137b1d729b1aedeb1508881c9eff">a7402f41</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2025-02-14T13:38:06+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>compiler: Fix CPP guards around ghc_unique_counter64
The `ghc_unique_counter64` symbol was introduced in the RTS in the
64-bit unique refactor (!10568) which has been backported to %9.6.7 and
%9.8.4. Update the CPP to reflect this.
Fixes #25576.
(cherry picked from commit 595013d41464c1e328369bb81ce0ea2814e91b68)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/600e7de5eacb3775f1f98d2bfeabed144792e774">600e7de5</a></strong>
<div>
<span> by Jens Petersen </span> <i> at 2025-02-14T13:38:46+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>hp2ps/Utilities.c: add extern parameter types for malloc and realloc for C23
Fix build with gcc-15 which defaults to C23 standard (-std=gnu23)
Fixes #25662
```
utils/hp2ps/Utilities.c:6:14: error:
warning: conflicting types for built-in function ‘malloc’; expected ‘void *(long unsigned int)’ [-Wbuiltin-declaration-mismatch]
6 | extern void* malloc();
| ^~~~~~
|
6 | extern void* malloc();
| ^
utils/hp2ps/Utilities.c:5:1: error:
note: ‘malloc’ is declared in header ‘<stdlib.h>’
4 | #include "Error.h"
+++ |+#include <stdlib.h>
5 |
|
5 |
| ^
utils/hp2ps/Utilities.c: In function ‘xmalloc’:
utils/hp2ps/Utilities.c:80:17: error:
error: too many arguments to function ‘malloc’; expected 0, have 1
80 | r = (void*) malloc(n);
| ^~~~~~ ~
|
80 | r = (void*) malloc(n);
| ^
utils/hp2ps/Utilities.c:6:14: error:
note: declared here
6 | extern void* malloc();
| ^~~~~~
|
6 | extern void* malloc();
| ^
utils/hp2ps/Utilities.c: In function ‘xrealloc’:
utils/hp2ps/Utilities.c:92:18: error:
warning: conflicting types for built-in function ‘realloc’; expected ‘void *(void *, long unsigned int)’ [-Wbuiltin-declaration-mismatch]
92 | extern void *realloc();
| ^~~~~~~
|
92 | extern void *realloc();
| ^
utils/hp2ps/Utilities.c:92:18: error:
note: ‘realloc’ is declared in header ‘<stdlib.h>’
|
92 | extern void *realloc();
| ^
utils/hp2ps/Utilities.c:94:9: error:
error: too many arguments to function ‘realloc’; expected 0, have 2
94 | r = realloc(p, n);
| ^~~~~~~ ~
|
94 | r = realloc(p, n);
| ^
utils/hp2ps/Utilities.c:92:18: error:
note: declared here
92 | extern void *realloc();
| ^~~~~~~
|
92 | extern void *realloc();
| ^
```
(cherry picked from commit f983a00ffc97b779eb52b10e69e254ec107f8311)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/858349a60eeba8fc93c7aca6e478efa2156f0020">858349a6</a></strong>
<div>
<span> by Jens Petersen </span> <i> at 2025-02-14T13:39:04+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>hp2ps/Utilities.c: add extern parameter types for malloc and realloc for C23
use portable C types!
(cherry picked from commit 70f7741acd9d50a6cc07553aeaae600afe4a72b8)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f66bba73e8df25a3212a80da13719489cdbdbc1f">f66bba73</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2025-02-14T13:39:54+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>bytecode: Do not generate `SLIDE x 0` instructions
SLIDE x 0 is a no-op as it means to shift x elements of the stack by no
spaces. In the interpreter, this results in a loop which copies an array
element into the same place.
I have instrumented GHCi to count how many of these instructions are interpreted.
The workload was `ghc` compiling two simple modules.
Total no-op slides: 7793476
Total slides: 11413289
Percentage useless (slides): 68%
Percentage uselss of total instructions: 9%
(cherry picked from commit bf8c7d6edf224c083c90ab3ddac49979ac18ad39)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9d3dcef2cc680482799be19ad505133ec9a117a0">9d3dcef2</a></strong>
<div>
<span> by Luite Stegeman </span> <i> at 2025-02-14T14:00:21+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Add flags for switching off speculative evaluation.
We found that speculative evaluation can increase the amount of
allocations in some circumstances. This patch adds new flags for
selectively disabling speculative evaluation, allowing us to
test the effect of the optimization.
The new flags are:
-fspec-eval
globally enable speculative evaluation
-fspec-eval-dictfun
enable speculative evaluation for dictionary functions (no effect
if speculative evaluation is globally disabled)
The new flags are on by default for all optimisation levels.
See #25284
(cherry picked from commit 2309975247543a4f77009ea5c3c7a8ebe06dc60b)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1f0035f6c52a17d1a94a537b41ef5a3eb3a41607">1f0035f6</a></strong>
<div>
<span> by Andrei Borzenkov </span> <i> at 2025-02-17T17:07:04+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Add missing entires to the release notes (#24970, #24830)
(cherry picked from commit 2bb21ba8c6a1b66e17b27a3e6ace338c1f38a46d)
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/388573b21848d7777f5f053132449f61b94d0068">388573b2</a></strong>
<div>
<span> by Andreas Klebinger </span> <i> at 2025-02-19T15:07:57+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Small fixes for CI/testsuite
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b7c579a378945f81c5ff6ee9a76bb3ca83dc6534">b7c579a3</a></strong>
<div>
<span> by Andreas Klebinger </span> <i> at 2025-02-20T14:54:21+01:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Windows ci fix
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
64 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#587d266bb27a4dc3022bbed44dfa19849df3044c">
.gitlab-ci.yml
</a>
</li>
<li class="file-stats">
<a href="#157f7634c25bc6366cb7c9c9edb48e819dce38db">
.gitlab/ci.sh
</a>
</li>
<li class="file-stats">
<a href="#87873753e9f32a3fb27939a82d944277fa501572">
.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py
</a>
</li>
<li class="file-stats">
<a href="#6997a0cd37829d3d08db1c48185aaa3d7dfc3e6b">
compiler/GHC/CmmToAsm/AArch64/CodeGen.hs
</a>
</li>
<li class="file-stats">
<a href="#807babf5b215890881c92043bcd08486141a405c">
compiler/GHC/CmmToAsm/AArch64/Instr.hs
</a>
</li>
<li class="file-stats">
<a href="#0c06b80d12937afa0db5ee9903e4d2be2f146d29">
compiler/GHC/CmmToAsm/AArch64/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#1aff3a222f2ec5c5498930c3d145b401cc300028">
compiler/GHC/CmmToLlvm.hs
</a>
</li>
<li class="file-stats">
<a href="#a5d27de4e3111a69f69902c65ecf7b3379f7c49a">
compiler/GHC/CoreToStg/Prep.hs
</a>
</li>
<li class="file-stats">
<a href="#515e45714efa1079dede946c7258fc0d66d9bd35">
compiler/GHC/Driver/Config/CoreToStg/Prep.hs
</a>
</li>
<li class="file-stats">
<a href="#e65e7bbfc24f8830a20082bfc50f6d16e613cbeb">
compiler/GHC/Driver/DynFlags.hs
</a>
</li>
<li class="file-stats">
<a href="#2e5692f568fd7b67a6b172e2a60469da8392508c">
compiler/GHC/Driver/Flags.hs
</a>
</li>
<li class="file-stats">
<a href="#774d88050336ef660c7a219fb06c480c2fc639bc">
compiler/GHC/Driver/Session.hs
</a>
</li>
<li class="file-stats">
<a href="#1522139eef391430974e254694d2feec1d43d85a">
compiler/GHC/StgToByteCode.hs
</a>
</li>
<li class="file-stats">
<a href="#44b98437cdd35d6836caab46e32906e669708388">
compiler/GHC/SysTools/Tasks.hs
</a>
</li>
<li class="file-stats">
<a href="#e4b9d5e9d2de37561bfd06a2c97a5c924a1bab76">
compiler/GHC/Tc/Errors.hs
</a>
</li>
<li class="file-stats">
<a href="#83f745d921da7adb739e81f83e1c07e723e4a789">
compiler/GHC/Tc/Gen/Bind.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="#03ec4f8741105271af29a61fdb47c8feba9bbcfa">
compiler/GHC/Tc/Solver/Equality.hs
</a>
</li>
<li class="file-stats">
<a href="#3b6d78a50c8462304f843b952a88e531718dbbd2">
compiler/GHC/Tc/Types/Constraint.hs
</a>
</li>
<li class="file-stats">
<a href="#74295edeac870ee7f2f3484ebaffab5c948b735a">
compiler/GHC/Tc/Utils/Unify.hs
</a>
</li>
<li class="file-stats">
<a href="#15ca3d1c88cfd453d05185254dfdd48627a4de91">
compiler/cbits/genSym.c
</a>
</li>
<li class="file-stats">
<a href="#523e258f899a29c551e69a88115587d32ba73db1">
docs/users_guide/9.10.1-notes.rst
</a>
</li>
<li class="file-stats">
<a href="#12f1226bde7e9f48203d34d8d857513f2f1f4d75">
docs/users_guide/phases.rst
</a>
</li>
<li class="file-stats">
<a href="#f3f4f8dc731afc0db48a11e3aabda27aaff46cda">
docs/users_guide/using-concurrent.rst
</a>
</li>
<li class="file-stats">
<a href="#2e45f2cd303dd998950a7c8042e796a5b2abd64f">
docs/users_guide/using-optimisation.rst
</a>
</li>
<li class="file-stats">
<a href="#5b653ef3b00262d0f1454de11e0714bd59d072e5">
hadrian/cabal.project
</a>
</li>
<li class="file-stats">
<a href="#2eeb40f0acd6cb433ebe65e34262040b618908a7">
hadrian/hadrian.cabal
</a>
</li>
<li class="file-stats">
<a href="#6c93025dd021b74dda705f36d078e02bcda0ccfe">
hadrian/src/Rules/Documentation.hs
</a>
</li>
<li class="file-stats">
<a href="#15573cb40fce6bde985c520c7e7647ab4c13453e">
hadrian/stack.yaml
</a>
</li>
<li class="file-stats">
<a href="#b22bdffb3acea29197f94c03c2259501a8199650">
libraries/ghc-internal/src/GHC/Internal/Conc/Sync.hs
</a>
</li>
<li class="file-stats">
<a href="#33249795fee267712d5c3a7ecfa9f2edea260401">
rts/Capability.c
</a>
</li>
<li class="file-stats">
<a href="#62ec5569a8af1e443ae952b393d15b9dd1cea199">
rts/Capability.h
</a>
</li>
<li class="file-stats">
<a href="#ba1d62598dfbf5ddb817dd9c93461a02a0bba43d">
rts/CheckUnload.c
</a>
</li>
<li class="file-stats">
<a href="#044fe9284335a9bfd17546e06c2e5c40a680dd3d">
rts/Linker.c
</a>
</li>
<li class="file-stats">
<a href="#49d63c99feec397a2d9c3692f6d9f1c7698c81d0">
rts/ProfHeap.c
</a>
</li>
<li class="file-stats">
<a href="#16c842a51a135c8ef2c7c7f94336544868348a3c">
rts/RtsSymbols.c
</a>
</li>
<li class="file-stats">
<a href="#7d6961cb073b9fe3df3a81f0ad5cf36eed293c42">
rts/Schedule.c
</a>
</li>
<li class="file-stats">
<a href="#32dbdb5691fa3c911066a334b0e5f363f2863d89">
rts/include/rts/Config.h
</a>
</li>
<li class="file-stats">
<a href="#e6b7f29c42fa365a2ce3bbf5df55314507324598">
rts/include/rts/Threads.h
</a>
</li>
<li class="file-stats">
<a href="#e3731980f3b029c755ee5f9358ee572a5dfe1c24">
rts/linker/MMap.c
</a>
</li>
<li class="file-stats">
<a href="#8ce4f611c0c8ffca1e045d8429fdc3c80a5b9c95">
rts/xxhash.h
</a>
</li>
<li class="file-stats">
<a href="#c591f85f122007bac88228c5ff6fd76b40e6a811">
testsuite/driver/testlib.py
</a>
</li>
<li class="file-stats">
<a href="#0ab52b6d9db4bc524557e8639c1437cfb93b2553">
<span class="new-file">
+
testsuite/tests/core-to-stg/T25284/A.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#51deabaa7f37c71be8b258ec3aa1e4bfabbffbc5">
<span class="new-file">
+
testsuite/tests/core-to-stg/T25284/B.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#02a2a0b205f8d829049dfd643ffd56c47ccc872e">
<span class="new-file">
+
testsuite/tests/core-to-stg/T25284/Cls.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#26d5530de9b6b0aa2f72ed1429e7f084cbd89765">
<span class="new-file">
+
testsuite/tests/core-to-stg/T25284/Main.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#6939de01a146b142943a47847383d487ff3c4fdd">
<span class="new-file">
+
testsuite/tests/core-to-stg/T25284/T25284.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#0f687d8dba26f1a084b79fa4176bc234693ca364">
<span class="new-file">
+
testsuite/tests/core-to-stg/T25284/all.T
</span>
</a>
</li>
<li class="file-stats">
<a href="#b2116411d7a46bfc94bcd94fab260cbfab5ad414">
testsuite/tests/linear/should_compile/all.T
</a>
</li>
<li class="file-stats">
<a href="#d2499359a214171676e157b5fc6b9dfa4af8b246">
<span class="new-file">
+
testsuite/tests/llvm/should_compile/T25606.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#6835cac2ee4f6960833e6d6a6420773e71159771">
testsuite/tests/llvm/should_compile/all.T
</a>
</li>
<li class="file-stats">
<a href="#f6f3fe949a2cbc72ebd9c2a22b3067595b1831a9">
testsuite/tests/polykinds/T14172.stderr
</a>
</li>
<li class="file-stats">
<a href="#839f55e86c8d80bd07ec62ac99716bcf765e2a9e">
testsuite/tests/rep-poly/RepPolyMcGuard.stderr
</a>
</li>
<li class="file-stats">
<a href="#66a929ee110049b9593b65ba86e0b7aabe859771">
testsuite/tests/rep-poly/RepPolyRecordUpdate.stderr
</a>
</li>
<li class="file-stats">
<a href="#22f44dae098d66ceb9158883d0fd6f8dec7f3a47">
testsuite/tests/rep-poly/T12709.stderr
</a>
</li>
<li class="file-stats">
<a href="#bbb045cf7849b913e7982f2c34c3454abf95ba23">
<span class="new-file">
+
testsuite/tests/rts/T25560.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#5ced844c5529162410276a1236ca9b8e7186490c">
testsuite/tests/rts/all.T
</a>
</li>
<li class="file-stats">
<a href="#ec46bcbc45d7079cbc4b688d46def2789916d775">
<span class="new-file">
+
testsuite/tests/typecheck/should_compile/T25597.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#34fe7bf0e6fbf60effb28393399ba68666593909">
testsuite/tests/typecheck/should_compile/all.T
</a>
</li>
<li class="file-stats">
<a href="#2f35f230db86c869ee467758fbd683e25d2f1915">
<span class="new-file">
+
testsuite/tests/typecheck/should_fail/T25325.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#4175d666764250ef0543359fcb99288f6fc1e5b1">
<span class="new-file">
+
testsuite/tests/typecheck/should_fail/T25325.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#b9e86d897a62509b0114d81d5e736630d6f68f43">
testsuite/tests/typecheck/should_fail/all.T
</a>
</li>
<li class="file-stats">
<a href="#9bdeaf9266c66418289a1ef73605b26e0dcea8b2">
utils/hp2ps/Utilities.c
</a>
</li>
</ul>
<h5 style="margin-top: 10px; margin-bottom: 10px; font-size: .875rem;">
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: #626168;">
—
<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/e41456fca25b1407193536c4243dd19a82b40ab7...b7c579a378945f81c5ff6ee9a76bb3ca83dc6534">View it on GitLab</a>.
<br>
You're receiving this email because of your account on <a target="_blank" rel="noopener noreferrer" href="https://gitlab.haskell.org">gitlab.haskell.org</a>. <a href="https://gitlab.haskell.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link">Manage all notifications</a> · <a href="https://gitlab.haskell.org/help" target="_blank" rel="noopener noreferrer" class="help-link">Help</a>
</p>
</div>
</body>
</html>