<!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 data-premailer="ignore" type="text/css">
a { color: #1068bf; }
</style>


<style>img {
max-width: 100%; height: auto;
}
body {
font-size: 0.875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,0.01) 0 0 1px;
}
body {
font-family: -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,0.01) 0 0 1px; font-family: -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;">
Alan Zimmerman pushed to branch wip/az/T21355-exactprint-update
at <a href="https://gitlab.haskell.org/ghc/ghc" style="color: #1068bf;">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
Commits:
</h4>
<ul>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/43ab435afc01284c1fb7e500783703f580a55a90" style="color: #1068bf;">43ab435a</a></strong>
<div>
<span>by Pierre Le Marre</span>
<i>at 2022-10-14T07:45:43-04:00</i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>Add standard Unicode case predicates isUpperCase and isLowerCase.

These predicates use the standard Unicode case properties and are more intuitive than isUpper and isLower.

Approved by CLC in https://github.com/haskell/core-libraries-committee/issues/90#issuecomment-1276649403.

Fixes #14589
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/aec5a443bc45ca99cfeedc1777edb0aceca142cf" style="color: #1068bf;">aec5a443</a></strong>
<div>
<span>by Bodigrim</span>
<i>at 2022-10-14T07:46:21-04:00</i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>Add type signatures in where-clause of Data.List.permutations

The type of interleave' is very much revealing, otherwise it's extremely tough to decipher.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ee0deb8054da2a597fc5624469b4c44fd769ada2" style="color: #1068bf;">ee0deb80</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2022-10-14T18:29:20-04:00</i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>rts: Use pthread_setname_np correctly on Darwin

As noted in #22206, pthread_setname_np on Darwin only supports
setting the name of the calling thread. Consequently we must introduce
a trampoline which first sets the thread name before entering the thread
entrypoint.</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8eff62a43cebbb21f00aeea138bcc343d8ac8f34" style="color: #1068bf;">8eff62a4</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2022-10-14T18:29:57-04:00</i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>testsuite: Add test for #22282

This will complement mpickering's more general port of foundation's
numerical testsuite, providing a test for the specific case found
in #22282.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/62a550010ed94e1969c96150f2781854a0802766" style="color: #1068bf;">62a55001</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2022-10-14T18:29:57-04:00</i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>ncg/aarch64: Fix sub-word sign extension yet again

In adc7f108141a973b6dcb02a7836eed65d61230e8 we fixed a number of issues
to do with sign extension in the AArch64 NCG found by ghc/test-primops>.
However, this patch made a critical error, assuming that getSomeReg
would allocate a fresh register for the result of its evaluation.
However, this is not the case as `getSomeReg (CmmReg r) == r`.
Consequently, any mutation of the register returned by `getSomeReg` may
have unwanted side-effects on other expressions also mentioning `r`. In
the fix listed above, this manifested as the registers containing the
operands of binary arithmetic operations being incorrectly
sign-extended. This resulted in #22282.

Sadly, the rather simple structure of the tests generated
by `test-primops` meant that this particular case was not exercised.
Even more surprisingly, none of our testsuite caught this case.

Here we fix this by ensuring that intermediate sign extension is
performed in a fresh register.

Fixes #22282.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e020fdec3b70bd107e1bf97b721f97d720d7273a" style="color: #1068bf;">e020fdec</a></strong>
<div>
<span>by Alan Zimmerman</span>
<i>at 2022-10-16T19:35:07+01:00</i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>Update the check-exact infrastructure to match ghc-exactprint

GHC tests the exact print annotations using the contents of
utils/check-exact.

The same functionality is provided via
https://github.com/alanz/ghc-exactprint

The latter was updated to ensure it works with all of the files on
hackage when 9.2 was released, as well as updated to ensure users of
the library could work properly (apply-refact, retrie, etc).

This commit brings the changes from ghc-exactprint into
GHC/utils/check-exact, adapting for the changes to master.

Once it lands, it will form the basis for the 9.4 version of
ghc-exactprint.

See also discussion around this process at #21355
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#6997a0cd37829d3d08db1c48185aaa3d7dfc3e6b" style="color: #1068bf;">
compiler/GHC/CmmToAsm/AArch64/CodeGen.hs
</a>
</li>
<li class="file-stats">
<a href="#093cf1ab10ea2bac043566f4a5e4a1c4a1eaf5e6" style="color: #1068bf;">
docs/users_guide/9.6.1-notes.rst
</a>
</li>
<li class="file-stats">
<a href="#1f50b2511eac0d645e0e74075228caa38a3f45d1" style="color: #1068bf;">
libraries/base/Data/Char.hs
</a>
</li>
<li class="file-stats">
<a href="#5fbb1164b5c674e4253da7e91b14facf09746bbd" style="color: #1068bf;">
libraries/base/Data/OldList.hs
</a>
</li>
<li class="file-stats">
<a href="#9aa7ef98e676cf4580b41424370302d19a863b42" style="color: #1068bf;">
libraries/base/GHC/Unicode.hs
</a>
</li>
<li class="file-stats">
<a href="#b40d558ca9eb727c0237f49376e38a0fa328f369" style="color: #1068bf;">
<span class="new-file">
+
libraries/base/GHC/Unicode/Internal/Char/DerivedCoreProperties.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#b7cfb47853ef95330e499ca0c5b90964744d101f" style="color: #1068bf;">
libraries/base/base.cabal
</a>
</li>
<li class="file-stats">
<a href="#392e9dfd3417e267d708c5ab16536f2994d43745" style="color: #1068bf;">
libraries/base/changelog.md
</a>
</li>
<li class="file-stats">
<a href="#3ddc6dd4f7129dcad125c4bb9f75048404c6e178" style="color: #1068bf;">
libraries/base/tests/unicode001.hs
</a>
</li>
<li class="file-stats">
<a href="#ac7c94f5f6e9ca765cc17f88c8c0692964207fd5" style="color: #1068bf;">
libraries/base/tests/unicode001.stdout
</a>
</li>
<li class="file-stats">
<a href="#7ac5c5785b7b0a115b606b2cd228a4b935229bfe" style="color: #1068bf;">
libraries/base/tools/ucd2haskell/exe/Parser/Text.hs
</a>
</li>
<li class="file-stats">
<a href="#8cd3f5d707ec0adb2cd88a749fad56545891cf9e" style="color: #1068bf;">
libraries/base/tools/ucd2haskell/tests/check_all_chars.py
</a>
</li>
<li class="file-stats">
<a href="#9eb6102a4452efb8612450adef8b5769d3265bfb" style="color: #1068bf;">
libraries/base/tools/ucd2haskell/tests/export_all_chars.hs
</a>
</li>
<li class="file-stats">
<a href="#f368ae4132fd1e480c32b3a47bcd19c774b2521f" style="color: #1068bf;">
libraries/base/tools/ucd2haskell/ucd.sh
</a>
</li>
<li class="file-stats">
<a href="#cc73d9e9eaa9bba27d82a52a4c9ad6e125643836" style="color: #1068bf;">
rts/posix/OSThreads.c
</a>
</li>
<li class="file-stats">
<a href="#04d02fe51ca2047eb56ede2cbe39af9966b60e06" style="color: #1068bf;">
testsuite/tests/ghc-api/exactprint/AddDecl2.expected.hs
</a>
</li>
<li class="file-stats">
<a href="#a2eed32707b83b9761eb06c36bea34dc4ee78e34" style="color: #1068bf;">
testsuite/tests/ghc-api/exactprint/RmDecl7.expected.hs
</a>
</li>
<li class="file-stats">
<a href="#0783f3d4454040aa5df6d3ecc0f931d7a22d66c2" style="color: #1068bf;">
testsuite/tests/ghc-api/exactprint/RmDecl7.hs
</a>
</li>
<li class="file-stats">
<a href="#ff2738d5040e668dd766c8ea8c0e04f1a17965da" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/numeric/should_run/T22282.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#2cb580687b8acd6923e4935d0318b55e2288e7ed" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/numeric/should_run/T22282.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#8e383ffe6e71142e9b51eb2d974bb9d312d74667" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/numeric/should_run/T22282A.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#64bd5d9f522dad6c7bcfe51550b4609cb7ec4cd0" style="color: #1068bf;">
testsuite/tests/numeric/should_run/all.T
</a>
</li>
<li class="file-stats">
<a href="#8465ee0589acb77b7361deb499153b8394526c76" style="color: #1068bf;">
testsuite/tests/printer/Makefile
</a>
</li>
<li class="file-stats">
<a href="#f0a07af64cfd66d73b1e9412dd962f41525080d4" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/printer/Test21355.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#35bfc07528b480db3a1cbcd8fb7c7ce5eb6868b0" style="color: #1068bf;">
testsuite/tests/printer/all.T
</a>
</li>
<li class="file-stats">
<a href="#59f7306791ff0e40c8aa2e000aa700809c6b36d7" style="color: #1068bf;">
utils/check-exact/.ghci
</a>
</li>
<li class="file-stats">
<a href="#c5662bedafa6a48ec7062b131d94b70f514207d9" style="color: #1068bf;">
utils/check-exact/ExactPrint.hs
</a>
</li>
<li class="file-stats">
<a href="#07cfbf5ef49cf13dbd18a6567fb6b2cf60f8c2ca" style="color: #1068bf;">
utils/check-exact/Lookup.hs
</a>
</li>
<li class="file-stats">
<a href="#a01c7c8d6870e84e6f69c9daf633c0cc2adbb1bf" style="color: #1068bf;">
utils/check-exact/Main.hs
</a>
</li>
<li class="file-stats">
<a href="#e18b7b9a3fb0d6ddcd9591aa98846ee75043dcbc" style="color: #1068bf;">
<span class="new-file">
+
utils/check-exact/Orphans.hs
</span>
</a>
</li>
</ul>
<h5 style="margin-top: 10px; margin-bottom: 10px; font-size: 0.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: #666;">

<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/5baa2b4c8d2c2fde3c5e2693e3e7711d7e94d480...e020fdec3b70bd107e1bf97b721f97d720d7273a" style="color: #1068bf;">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" style="color: #1068bf;">gitlab.haskell.org</a>. <a href="https://gitlab.haskell.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link" style="color: #1068bf;">Manage all notifications</a> · <a href="https://gitlab.haskell.org/help" target="_blank" rel="noopener noreferrer" class="help-link" style="color: #1068bf;">Help</a>



</p>
</div>
</body>
</html>