<!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>
John Ericson pushed to branch wip/primop-naming-consistency
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/9425fabffa0901f7c2f670b65f40e9e59e0d66bc">9425fabf</a></strong>
<div>
<span>by Sylvain Henry</span>
<i>at 2020-12-11T18:07:22+00:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix array and cleanup conversion primops (#19026)

The first change makes the array ones use the proper fixed-size types,
which also means that just like before, they can be used without
explicit conversions with the boxed sized types. (Before, it was Int# /
Word# on both sides, now it is fixed sized on both sides).

For the second change, don't use "extend" or "narrow" in some of the
user-facing primops names for conversions.

  - Names like `narrowInt32#` are misleading when `Int` is 32-bits.

  - Names like `extendInt64#` are flat-out wrong when `Int is
    32-bits.

  - `narrow{Int,Word}<N>#` however map a type to itself, and so don't
    suffer from this problem. They are left as-is.

These changes are batched together because Alex happend to use the array
ops. We can only use released versions of Alex at this time, sadly, and
I don't want to have to have a release thatwon't work for the final GHC
9.2. So by combining these we get all the changes for Alex done at once.

Bump Cabal, array, bytestring, text, and binary submodules

TODO bump alex version
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#ee840b93f51ee5ed4233a2f892343421ba49af58">
compiler/GHC/Builtin/bytearray-ops.txt.pp
</a>
</li>
<li class="file-stats">
<a href="#451725cc4e5d443a3b7c2adcdf224840f953b7e2">
compiler/GHC/Builtin/primops.txt.pp
</a>
</li>
<li class="file-stats">
<a href="#1684e8db5c0d415248dabe224ffe70205adc6b0f">
compiler/GHC/CmmToAsm/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#aa79261abf782f3dc603af7fbd5c4b08ed3ddb88">
compiler/GHC/Core/Opt/ConstantFold.hs
</a>
</li>
<li class="file-stats">
<a href="#d51029aec6ce58e66d4b48865c1dd0d2038fda29">
compiler/GHC/Data/FastString.hs
</a>
</li>
<li class="file-stats">
<a href="#d12a108e34fe83acc9c99357ae841e22a0af0a23">
compiler/GHC/StgToCmm/Prim.hs
</a>
</li>
<li class="file-stats">
<a href="#3aa56839e36b2219f9ad54f5646ef3005da9c672">
compiler/GHC/Tc/Deriv/Generate.hs
</a>
</li>
<li class="file-stats">
<a href="#2b3a5da6af2421fdb559def8637e7fac0436609f">
libraries/Cabal
</a>
</li>
<li class="file-stats">
<a href="#9291b31007e89e8b38b9ca916cdad6f71073b937">
libraries/array
</a>
</li>
<li class="file-stats">
<a href="#8237d7c338108cdefc162d88e5819c2f43aebf02">
libraries/base/GHC/Float/ConversionUtils.hs
</a>
</li>
<li class="file-stats">
<a href="#4569c39c0942a37f3d3a5b5014fcc735d38b82e8">
libraries/base/GHC/IO/Encoding/CodePage.hs
</a>
</li>
<li class="file-stats">
<a href="#82edd023ef48250fe07a75b9fabfc3fbe587327c">
libraries/base/GHC/IO/Encoding/UTF16.hs
</a>
</li>
<li class="file-stats">
<a href="#b407b9e9712a271c5d51599c018f7f94338f333b">
libraries/base/GHC/IO/Encoding/UTF32.hs
</a>
</li>
<li class="file-stats">
<a href="#5297aa37d3ef9f9dbb868b6bd960139d29f2e289">
libraries/base/GHC/IO/Encoding/UTF8.hs
</a>
</li>
<li class="file-stats">
<a href="#10be392b7f7b391a804a9d9e07af9686755ee4c7">
libraries/base/GHC/Int.hs
</a>
</li>
<li class="file-stats">
<a href="#209179850d5b5187e3d75f1c4403ec35838a78e8">
libraries/base/GHC/Storable.hs
</a>
</li>
<li class="file-stats">
<a href="#b2790eba050766b3c5aefa4efc5ed45ca998764b">
libraries/base/GHC/Word.hs
</a>
</li>
<li class="file-stats">
<a href="#5bfb6511b6692186b67361926b45ce22ebcad528">
libraries/binary
</a>
</li>
<li class="file-stats">
<a href="#ccb6db036bae2c1242147ab8e03f3410502feba9">
libraries/bytestring
</a>
</li>
<li class="file-stats">
<a href="#233ee515bec9e1a53e1490cca550d836c94c38ad">
libraries/ghc-bignum/src/GHC/Num/Backend/GMP.hs
</a>
</li>
<li class="file-stats">
<a href="#647cbaf2308367c2e0b833aed32fa860ab0944fd">
libraries/ghc-bignum/src/GHC/Num/Primitives.hs
</a>
</li>
<li class="file-stats">
<a href="#2af520124580166971987234320ebbf272209757">
libraries/ghc-boot/GHC/Utils/Encoding.hs
</a>
</li>
<li class="file-stats">
<a href="#5b5b439543cf197398612a3792ce3e362c519eab">
libraries/ghc-heap/tests/tso_and_stack_closures.hs
</a>
</li>
<li class="file-stats">
<a href="#80368e1dda3b1b395de1091bec3a68c7e717ff49">
libraries/ghci/GHCi/BreakArray.hs
</a>
</li>
<li class="file-stats">
<a href="#2d19e6cbace295d14f756857b7a73e885bca99f3">
libraries/text
</a>
</li>
<li class="file-stats">
<a href="#8410ee7d61c1091fb0585afc7b6cc587c7cde3f3">
testsuite/tests/array/should_run/arr020.hs
</a>
</li>
<li class="file-stats">
<a href="#1151246975a0da91164d6ff94c3a050693029d67">
testsuite/tests/cmm/opt/T18141.hs
</a>
</li>
<li class="file-stats">
<a href="#6acf043a97aa875c79874ffd6c4cb7851c389be1">
testsuite/tests/codeGen/should_compile/T18614.hs
</a>
</li>
<li class="file-stats">
<a href="#807eaf9475ab7cbb2f3bdb56950ac7cb6d7abf49">
testsuite/tests/codeGen/should_run/cgrun070.hs
</a>
</li>
<li class="file-stats">
<a href="#1edd30209f15a090b0f6480eb2decb424e7ec40b">
testsuite/tests/codeGen/should_run/cgrun072.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: #666;">

<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9425fabffa0901f7c2f670b65f40e9e59e0d66bc">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.
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Commit","url":"https://gitlab.haskell.org/ghc/ghc/-/commit/9425fabffa0901f7c2f670b65f40e9e59e0d66bc"}}</script>


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