Re: GHC 9.12.4-rc1 is now available

George Colpitts <[email protected]> Wed, 18 Mar 2026 13:34:15 -0300
Newsgroups gmane.comp.lang.haskell.cafe,gmane.comp.lang.haskell.ghc.devel,gmane.comp.lang.haskell.glasgow.user
Message-ID <CAB-d4A4559cmfw-4VKrH-6gOdFCoyYfdy9TPC-mPK0-3XtPTGQ@mail.gmail.com>
--===============9217840408326267374==
Content-Type: multipart/alternative; boundary="000000000000f7e873064d4f07c0"

--000000000000f7e873064d4f07c0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

My apologies, very sorry. I got the good output and bad output backwards.
It is fixed. Very sorry to bother everybody.

On Wed, Mar 18, 2026 at 11:22=E2=80=AFAM Zubin Duggal <[email protected]=
> wrote:

> Can you clarify what behavior you are seeing? I just tested
> with fresh install
>
> =E2=9D=AF test/bin/ghc --version
> The Glorious Glasgow Haskell Compilation System, version 9.12.3.20260311
> =E2=9D=AF test/bin/ghc $PROJECT_DIR/Main.hs -fforce-recomp
> [1 of 2] Compiling Main             ( /home/zubin/ghcs/exprType/Main.hs,
> /home/zubin/ghcs/exprType/Main.o )
> [2 of 2] Linking /home/zubin/ghcs/exprType/Main [Objects changed]
> =E2=9D=AF cat $PROJECT_DIR/Main.hs
> {-# OPTIONS_GHC -O #-}
>
> import Data.Word
>
> prop :: Word8 -> IO ()
> prop x =3D do
>    print (x, x `quot` 7, x `rem` 7, x `quotRem` 7)
> {-# NOINLINE prop #-}
>
> main :: IO ()
> main =3D prop 0
> =E2=9D=AF /home/zubin/ghcs/exprType/Main
> (0,0,0,(0,0))
>
> On 26/03/18 11:01, George Colpitts wrote:
> >Hello
> >
> >Below it states
> >
> >   - Fixed a critical code generation regression where sub-word division
> >   produced incorrect results (#26711 </ghc/ghc/-/issues/26711>, #26668
> >   (closed) </ghc/ghc/-/issues/26668>), similar to the bug fixed in 9.12=
.2
> >
> >However when I test 26711 it on 9.12.3.20260311 ( 9.12.3.20260311) on my
> >Apple Silicon Mac it is still broken, I've updated 26711. Maybe the abov=
e
> >means that just 26668 is fixed but 26711 is not?
> >
> >On Fri, Mar 13, 2026 at 6:15=E2=80=AFAM Zubin Duggal via ghc-devs <
> >[email protected]> wrote:
> >
> >> The GHC developers are very pleased to announce the availability
> >> of the release candidate for GHC 9.12.4. Binary distributions, source
> >> distributions, and documentation are available at [
> downloads.haskell.org][]
> >> and
> >> via [GHCup](https://www.haskell.org/ghcup/).
> >>
> >> GHC 9.12.4 is a bug-fix release fixing many issues of a variety of
> >> severities and scopes, including:
> >>
> >> * Fixed a critical code generation regression where sub-word division
> >> produced
> >>    incorrect results (#26711, #26668), similar to the bug fixed in
> 9.12.2
> >> * Numerous fixes for register allocation bugs, preventing data
> corruption
> >>    when spilling and reloading registers
> >>    (#26411, #26526, #26537, #26542, #26550)
> >> * Fixes for several compiler crashes, including issues with
> >>    CSE (#25468), SetLevels (#26681),
> >>    implicit parameters (#26451), and the type-class specialiser (#2668=
2)
> >> * Fixed cast worker/wrapper incorrectly firing on INLINE functions
> (#26903)
> >> * Fixed LLVM backend miscompilation of bit manipulation operations
> >>    (#20645, #26065, #26109)
> >> * Fixed associated type family and data family instance changes not
> >> triggering
> >>    recompilation (#26183, #26705)
> >> * Fixed negative type literals causing the compiler to hang (#26861)
> >> * Improvements to determinism of compiler output (#26846, #26858)
> >> * Fixes for eventlog shutdown deadlocks (#26573)
> >>    and lost wakeups in the RTS (#26324)
> >> * Fixed split sections support on Windows (#26696, #26494) and the LLV=
M
> >> backend (#26770)
> >> * Fixes for the bytecode compiler, PPC native code generator, and Wasm
> >> backend
> >> * The runtime linker now supports COMMON symbols (#6107)
> >> * Improved backtrace support: backtraces for `error` exceptions are no=
w
> >>    evaluated at throw time
> >> * `NamedDefaults` now correctly requires the class to be standard or
> have
> >> an
> >>    in-scope default declaration, and handles poly-kinded classes
> (#25775,
> >> #25778, #25882)
> >> * ... and many more
> >>
> >> A full accounting of these fixes can be found in the
> >> [release notes][]. As always, GHC's release status, including planned
> >> future
> >> releases, can be found on the GHC Wiki [status][].
> >>
> >> This release candidate will have a two-week testing period. If all goe=
s
> >> well
> >> the final release will be available the week of 26 March 2026.
> >>
> >> GHC development is sponsored by:
> >>
> >>   * [Juspay](https://juspay.com/)
> >>   * [QBayLogic](https://qbaylogic.com/)
> >>   * [Channable](https://www.channable.com/)
> >>   * [Haskell Foundation](https://haskell.foundation/)
> >>   * [Serokell](https://serokell.io/)
> >>   * [Well-Typed](https://well-typed.com/)
> >>   * [Tweag](https://www.tweag.io/)
> >>   * [Dotcom-Monitor](https://www.dotcom-monitor.com/)
> >>   * [LoadView](https://www.loadview-testing.com/)
> >>   * [Web Hosting Buddy](https://webhostingbuddy.com/)
> >>   * [Find My Electric](https://www.findmyelectric.com/)
> >>   * [Standard Chartered](https://www.sc.com)
> >>   * [UpCloud](https://upcloud.com)
> >>   * [Mercury](https://mercury.com)
> >>
> >> We would like to thank these sponsors and other anonymous contributors
> >> whose on-going financial and in-kind support has facilitated GHC
> >> maintenance
> >> and release management over the years. Finally, this release would not
> have
> >> been possible without the hundreds of open-source contributors whose
> work
> >> comprise this release.
> >>
> >> As always, do give this release a try and open a [ticket][] if you see
> >> anything amiss.
> >>
> >> [release notes]:
> >>
> https://gitlab.haskell.org/ghc/ghc/-/blob/ghc-9.12/docs/users_guide/9.12.=
4-notes.rst?ref_type=3Dheads&plain=3D1
> >> [status]: https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status
> >> [downloads.haskell.org]: https://downloads.haskell.org/ghc/9.12.4-rc1
> >> [ticket]: https://gitlab.haskell.org/ghc/ghc/-/issues/new
> >> _______________________________________________
> >> ghc-devs mailing list -- [email protected]
> >> To unsubscribe send an email to [email protected]
> >>
>

--000000000000f7e873064d4f07c0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:times ne=
w roman,serif;font-size:large">My apologies, very sorry. I got the good out=
put and bad output backwards. It is fixed. Very sorry to bother everybody.<=
/div></div><br><div class=3D"gmail_quote gmail_quote_container"><div dir=3D=
"ltr" class=3D"gmail_attr">On Wed, Mar 18, 2026 at 11:22=E2=80=AFAM Zubin D=
uggal &lt;<a href=3D"mailto:[email protected]">[email protected]</a>&=
gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0=
px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Can y=
ou clarify what behavior you are seeing? I just tested<br>
with fresh install<br>
<br>
=E2=9D=AF test/bin/ghc --version<br>
The Glorious Glasgow Haskell Compilation System, version 9.12.3.20260311<br=
>
=E2=9D=AF test/bin/ghc $PROJECT_DIR/Main.hs -fforce-recomp<br>
[1 of 2] Compiling Main=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0( /h=
ome/zubin/ghcs/exprType/Main.hs, /home/zubin/ghcs/exprType/Main.o )<br>
[2 of 2] Linking /home/zubin/ghcs/exprType/Main [Objects changed]<br>
=E2=9D=AF cat $PROJECT_DIR/Main.hs<br>
{-# OPTIONS_GHC -O #-}<br>
<br>
import Data.Word<br>
<br>
prop :: Word8 -&gt; IO ()<br>
prop x =3D do<br>
=C2=A0 =C2=A0print (x, x `quot` 7, x `rem` 7, x `quotRem` 7)<br>
{-# NOINLINE prop #-}<br>
<br>
main :: IO ()<br>
main =3D prop 0<br>
=E2=9D=AF /home/zubin/ghcs/exprType/Main<br>
(0,0,0,(0,0))<br>
<br>
On 26/03/18 11:01, George Colpitts wrote:<br>
&gt;Hello<br>
&gt;<br>
&gt;Below it states<br>
&gt;<br>
&gt;=C2=A0 =C2=A0- Fixed a critical code generation regression where sub-wo=
rd division<br>
&gt;=C2=A0 =C2=A0produced incorrect results (#26711 &lt;/ghc/ghc/-/issues/2=
6711&gt;, #26668<br>
&gt;=C2=A0 =C2=A0(closed) &lt;/ghc/ghc/-/issues/26668&gt;), similar to the =
bug fixed in 9.12.2<br>
&gt;<br>
&gt;However when I test 26711 it on 9.12.3.20260311 ( 9.12.3.20260311) on m=
y<br>
&gt;Apple Silicon Mac it is still broken, I&#39;ve updated 26711. Maybe the=
 above<br>
&gt;means that just 26668 is fixed but 26711 is not?<br>
&gt;<br>
&gt;On Fri, Mar 13, 2026 at 6:15=E2=80=AFAM Zubin Duggal via ghc-devs &lt;<=
br>
&gt;<a href=3D"mailto:[email protected]" target=3D"_blank">ghc-devs@hask=
ell.org</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; The GHC developers are very pleased to announce the availability<b=
r>
&gt;&gt; of the release candidate for GHC 9.12.4. Binary distributions, sou=
rce<br>
&gt;&gt; distributions, and documentation are available at [<a href=3D"http=
://downloads.haskell.org" rel=3D"noreferrer" target=3D"_blank">downloads.ha=
skell.org</a>][]<br>
&gt;&gt; and<br>
&gt;&gt; via [GHCup](<a href=3D"https://www.haskell.org/ghcup/" rel=3D"nore=
ferrer" target=3D"_blank">https://www.haskell.org/ghcup/</a>).<br>
&gt;&gt;<br>
&gt;&gt; GHC 9.12.4 is a bug-fix release fixing many issues of a variety of=
<br>
&gt;&gt; severities and scopes, including:<br>
&gt;&gt;<br>
&gt;&gt; * Fixed a critical code generation regression where sub-word divis=
ion<br>
&gt;&gt; produced<br>
&gt;&gt;=C2=A0 =C2=A0 incorrect results (#26711, #26668), similar to the bu=
g fixed in 9.12.2<br>
&gt;&gt; * Numerous fixes for register allocation bugs, preventing data cor=
ruption<br>
&gt;&gt;=C2=A0 =C2=A0 when spilling and reloading registers<br>
&gt;&gt;=C2=A0 =C2=A0 (#26411, #26526, #26537, #26542, #26550)<br>
&gt;&gt; * Fixes for several compiler crashes, including issues with<br>
&gt;&gt;=C2=A0 =C2=A0 CSE (#25468), SetLevels (#26681),<br>
&gt;&gt;=C2=A0 =C2=A0 implicit parameters (#26451), and the type-class spec=
ialiser (#26682)<br>
&gt;&gt; * Fixed cast worker/wrapper incorrectly firing on INLINE functions=
 (#26903)<br>
&gt;&gt; * Fixed LLVM backend miscompilation of bit manipulation operations=
<br>
&gt;&gt;=C2=A0 =C2=A0 (#20645, #26065, #26109)<br>
&gt;&gt; * Fixed associated type family and data family instance changes no=
t<br>
&gt;&gt; triggering<br>
&gt;&gt;=C2=A0 =C2=A0 recompilation (#26183, #26705)<br>
&gt;&gt; * Fixed negative type literals causing the compiler to hang (#2686=
1)<br>
&gt;&gt; * Improvements to determinism of compiler output (#26846, #26858)<=
br>
&gt;&gt; * Fixes for eventlog shutdown deadlocks (#26573)<br>
&gt;&gt;=C2=A0 =C2=A0 and lost wakeups in the RTS (#26324)<br>
&gt;&gt; * Fixed split sections support on Windows (#26696, #26494) and the=
 LLVM<br>
&gt;&gt; backend (#26770)<br>
&gt;&gt; * Fixes for the bytecode compiler, PPC native code generator, and =
Wasm<br>
&gt;&gt; backend<br>
&gt;&gt; * The runtime linker now supports COMMON symbols (#6107)<br>
&gt;&gt; * Improved backtrace support: backtraces for `error` exceptions ar=
e now<br>
&gt;&gt;=C2=A0 =C2=A0 evaluated at throw time<br>
&gt;&gt; * `NamedDefaults` now correctly requires the class to be standard =
or have<br>
&gt;&gt; an<br>
&gt;&gt;=C2=A0 =C2=A0 in-scope default declaration, and handles poly-kinded=
 classes (#25775,<br>
&gt;&gt; #25778, #25882)<br>
&gt;&gt; * ... and many more<br>
&gt;&gt;<br>
&gt;&gt; A full accounting of these fixes can be found in the<br>
&gt;&gt; [release notes][]. As always, GHC&#39;s release status, including =
planned<br>
&gt;&gt; future<br>
&gt;&gt; releases, can be found on the GHC Wiki [status][].<br>
&gt;&gt;<br>
&gt;&gt; This release candidate will have a two-week testing period. If all=
 goes<br>
&gt;&gt; well<br>
&gt;&gt; the final release will be available the week of 26 March 2026.<br>
&gt;&gt;<br>
&gt;&gt; GHC development is sponsored by:<br>
&gt;&gt;<br>
&gt;&gt;=C2=A0 =C2=A0* [Juspay](<a href=3D"https://juspay.com/" rel=3D"nore=
ferrer" target=3D"_blank">https://juspay.com/</a>)<br>
&gt;&gt;=C2=A0 =C2=A0* [QBayLogic](<a href=3D"https://qbaylogic.com/" rel=
=3D"noreferrer" target=3D"_blank">https://qbaylogic.com/</a>)<br>
&gt;&gt;=C2=A0 =C2=A0* [Channable](<a href=3D"https://www.channable.com/" r=
el=3D"noreferrer" target=3D"_blank">https://www.channable.com/</a>)<br>
&gt;&gt;=C2=A0 =C2=A0* [Haskell Foundation](<a href=3D"https://haskell.foun=
dation/" rel=3D"noreferrer" target=3D"_blank">https://haskell.foundation/</=
a>)<br>
&gt;&gt;=C2=A0 =C2=A0* [Serokell](<a href=3D"https://serokell.io/" rel=3D"n=
oreferrer" target=3D"_blank">https://serokell.io/</a>)<br>
&gt;&gt;=C2=A0 =C2=A0* [Well-Typed](<a href=3D"https://well-typed.com/" rel=
=3D"noreferrer" target=3D"_blank">https://well-typed.com/</a>)<br>
&gt;&gt;=C2=A0 =C2=A0* [Tweag](<a href=3D"https://www.tweag.io/" rel=3D"nor=
eferrer" target=3D"_blank">https://www.tweag.io/</a>)<br>
&gt;&gt;=C2=A0 =C2=A0* [Dotcom-Monitor](<a href=3D"https://www.dotcom-monit=
or.com/" rel=3D"noreferrer" target=3D"_blank">https://www.dotcom-monitor.co=
m/</a>)<br>
&gt;&gt;=C2=A0 =C2=A0* [LoadView](<a href=3D"https://www.loadview-testing.c=
om/" rel=3D"noreferrer" target=3D"_blank">https://www.loadview-testing.com/=
</a>)<br>
&gt;&gt;=C2=A0 =C2=A0* [Web Hosting Buddy](<a href=3D"https://webhostingbud=
dy.com/" rel=3D"noreferrer" target=3D"_blank">https://webhostingbuddy.com/<=
/a>)<br>
&gt;&gt;=C2=A0 =C2=A0* [Find My Electric](<a href=3D"https://www.findmyelec=
tric.com/" rel=3D"noreferrer" target=3D"_blank">https://www.findmyelectric.=
com/</a>)<br>
&gt;&gt;=C2=A0 =C2=A0* [Standard Chartered](<a href=3D"https://www.sc.com" =
rel=3D"noreferrer" target=3D"_blank">https://www.sc.com</a>)<br>
&gt;&gt;=C2=A0 =C2=A0* [UpCloud](<a href=3D"https://upcloud.com" rel=3D"nor=
eferrer" target=3D"_blank">https://upcloud.com</a>)<br>
&gt;&gt;=C2=A0 =C2=A0* [Mercury](<a href=3D"https://mercury.com" rel=3D"nor=
eferrer" target=3D"_blank">https://mercury.com</a>)<br>
&gt;&gt;<br>
&gt;&gt; We would like to thank these sponsors and other anonymous contribu=
tors<br>
&gt;&gt; whose on-going financial and in-kind support has facilitated GHC<b=
r>
&gt;&gt; maintenance<br>
&gt;&gt; and release management over the years. Finally, this release would=
 not have<br>
&gt;&gt; been possible without the hundreds of open-source contributors who=
se work<br>
&gt;&gt; comprise this release.<br>
&gt;&gt;<br>
&gt;&gt; As always, do give this release a try and open a [ticket][] if you=
 see<br>
&gt;&gt; anything amiss.<br>
&gt;&gt;<br>
&gt;&gt; [release notes]:<br>
&gt;&gt; <a href=3D"https://gitlab.haskell.org/ghc/ghc/-/blob/ghc-9.12/docs=
/users_guide/9.12.4-notes.rst?ref_type=3Dheads&amp;plain=3D1" rel=3D"norefe=
rrer" target=3D"_blank">https://gitlab.haskell.org/ghc/ghc/-/blob/ghc-9.12/=
docs/users_guide/9.12.4-notes.rst?ref_type=3Dheads&amp;plain=3D1</a><br>
&gt;&gt; [status]: <a href=3D"https://gitlab.haskell.org/ghc/ghc/-/wikis/GH=
C-status" rel=3D"noreferrer" target=3D"_blank">https://gitlab.haskell.org/g=
hc/ghc/-/wikis/GHC-status</a><br>
&gt;&gt; [<a href=3D"http://downloads.haskell.org" rel=3D"noreferrer" targe=
t=3D"_blank">downloads.haskell.org</a>]: <a href=3D"https://downloads.haske=
ll.org/ghc/9.12.4-rc1" rel=3D"noreferrer" target=3D"_blank">https://downloa=
ds.haskell.org/ghc/9.12.4-rc1</a><br>
&gt;&gt; [ticket]: <a href=3D"https://gitlab.haskell.org/ghc/ghc/-/issues/n=
ew" rel=3D"noreferrer" target=3D"_blank">https://gitlab.haskell.org/ghc/ghc=
/-/issues/new</a><br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; ghc-devs mailing list -- <a href=3D"mailto:[email protected]" t=
arget=3D"_blank">[email protected]</a><br>
&gt;&gt; To unsubscribe send an email to <a href=3D"mailto:ghc-devs-leave@h=
askell.org" target=3D"_blank">[email protected]</a><br>
&gt;&gt;<br>
</blockquote></div>

--000000000000f7e873064d4f07c0--

--===============9217840408326267374==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Haskell-Cafe mailing list -- [email protected]
To (un)subscribe, modify options or view archives go to:
Only members subscribed via the mailman list are allowed to post.
--===============9217840408326267374==--