Zubin pushed to branch wip/9.12.3-backports at Glasgow Haskell Compiler / GHC Commits: 5c07d4ad by Zubin Duggal at 2025-09-18T00:13:27+05:30 Bump exceptions submodule to 0.10.10 - - - - - 2f306d1f by Zubin Duggal at 2025-09-18T00:13:27+05:30 Bump text submodule to 2.1.3 (cherry picked from commit a802551af0caed8ecb6c7f5722dcaf7e545f0b69) - - - - - 9e8e6a40 by Zubin Duggal at 2025-09-18T00:13:27+05:30 bump unix to 2.8.7.0 (cherry picked from commit f3d00969a454a2f043f5571ea54e52fbdf614080) - - - - - c50ffd27 by Zubin Duggal at 2025-09-18T00:13:27+05:30 Bump os-string submodule to 2.0.8 - - - - - e40be89d by Zubin Duggal at 2025-09-18T00:13:27+05:30 Set -Wno-unused-imports for os-string Metric Increase: T13035 T9198 Metric Decrease: MultiLayerModulesTH_OneShot (cherry picked from commit cc5b555001d43af3a0ae990f532ba433b7079568) - - - - - b2b261c2 by Zubin Duggal at 2025-09-18T00:13:27+05:30 Prepare 9.12.3 - - - - - 13 changed files: - configure.ac - docs/users_guide/9.12.3-notes.rst - hadrian/src/Settings/Warnings.hs - libraries/base/base.cabal.in - libraries/base/changelog.md - libraries/exceptions - libraries/os-string - libraries/process - libraries/text - libraries/unix - testsuite/driver/testlib.py - testsuite/tests/driver/T20604/T20604.stdout - testsuite/tests/polykinds/T14172.stderr Changes: ===================================== configure.ac ===================================== @@ -22,7 +22,7 @@ AC_INIT([The Glorious Glasgow Haskell Compilation System], [9.12.2], [glasgow-ha AC_CONFIG_MACRO_DIRS([m4]) # Set this to YES for a released version, otherwise NO -: ${RELEASE=YES} +: ${RELEASE=NO} # The primary version (e.g. 7.5, 7.4.1) is set in the AC_INIT line # above. If this is not a released version, then we will append the ===================================== docs/users_guide/9.12.3-notes.rst ===================================== @@ -13,6 +13,83 @@ Compiler - Fixed re-exports of ``MkSolo`` and ``MkSolo#`` (:ghc-ticket:`25182`) - Fixed the behavior of ``Language.Haskell.TH.mkName "FUN"`` (:ghc-ticket:`25174`) +- Fixed miscompilation involving ``zonkEqTypes`` on ``AppTy/AppTy`` (:ghc-ticket:`26256`) +- Fixed CprAnal to detect recursive newtypes (:ghc-ticket:`25944`) +- Fixed specialisation of incoherent instances (:ghc-ticket:`25883`) +- Fixed bytecode generation for ``tagToEnum# <LITERAL>`` (:ghc-ticket:`25975`) +- Fixed panic with EmptyCase and RequiredTypeArguments (:ghc-ticket:`25004`) +- Fixed ``tyConStupidTheta`` to handle ``PromotedDataCon`` (:ghc-ticket:`25739`) +- Fixed unused import warnings for duplicate record fields (:ghc-ticket:`24035`) +- Fixed lexing of ``"\^\"`` (:ghc-ticket:`25937`) +- Fixed string gap collapsing (:ghc-ticket:`25784`) +- Fixed lexing of comments in multiline strings (:ghc-ticket:`25609`) +- Made unexpected LLVM versions a warning rather than an error (:ghc-ticket:`25915`) +- Disabled ``-fprof-late-overloaded-calls`` for join points to avoid invalid transformations +- Fixed bugs in ``integerRecipMod`` and ``integerPowMod`` (:ghc-ticket:`26017`) +- Fixed ``naturalAndNot`` for NB/NS case (:ghc-ticket:`26230`) +- Fixed ``ds_ev_typeable`` to use ``mkTrAppChecked`` (:ghc-ticket:`25998`) +- Fixed GHC settings to always unescape escaped spaces (:ghc-ticket:`25204`) +- Fixed issue with HasCallStack constraint caching (:ghc-ticket:`25529`) +- Fixed archive member size writing logic in ``GHC.SysTools.Ar`` (:ghc-ticket:`26120`, :ghc-ticket:`22586`) + +Runtime System +~~~~~~~~~~~~~~ + +- Fixed ``MessageBlackHole.link`` to always be a valid closure +- Fixed handling of WHITEHOLE in ``messageBlackHole`` (:ghc-ticket:`26205`) +- Fixed ``rts_clearMemory`` logic when sanity checks are enabled (:ghc-ticket:`26011`) +- Fixed underflow frame lookups in the bytecode interpreter (:ghc-ticket:`25750`) +- Fixed overflows and reentrancy in interpreter statistics calculation (:ghc-ticket:`25756`) +- Fixed INTERP_STATS profiling code (:ghc-ticket:`25695`) +- Removed problematic ``n_free`` variable from nonmovingGC (:ghc-ticket:`26186`) +- Fixed incorrect format specifiers in era profiling +- Improved documentation of SLIDE and PACK bytecode instructions +- Eliminated redundant ``SLIDE x 0`` bytecode instructions +- Fixed compile issues on powerpc64 ELF v1 + +Code Generation +~~~~~~~~~~~~~~~ + +- Fixed LLVM built-in variable predicate (was checking ``$llvm`` instead of ``@llvm``) +- Fixed linkage of built-in arrays for LLVM (:ghc-ticket:`25769`) +- Fixed code generation for SSE vector operations (:ghc-ticket:`25859`) +- Fixed ``bswap64`` code generation on i386 (:ghc-ticket:`25601`) +- Fixed sub-word arithmetic right shift on AArch64 (:ghc-ticket:`26061`) +- Fixed LLVM vector literal emission to include type information +- Fixed LLVM version detection +- Fixed typo in ``padLiveArgs`` that caused segfaults (:ghc-ticket:`25770`, :ghc-ticket:`25773`) +- Fixed constant-folding for Word->Float bitcasts +- Added surface syntax for Word/Float bitcast operations +- Fixed ``MOVD`` format in x86 NCG for ``unpackInt64X2#`` +- Added ``-finter-module-far-jumps`` flag for AArch64 +- Fixed RV64 J instruction handling for non-local jumps (:ghc-ticket:`25738`) +- Reapplied division by constants optimization +- Fixed TNTC to set CmmProc entry_label properly (:ghc-ticket:`25565`) + +Linker +~~~~~~ + +- Improved efficiency of proddable blocks structure (:ghc-ticket:`26009`) +- Fixed Windows DLL loading to avoid redundant ``LoadLibraryEx`` calls (:ghc-ticket:`26009`) +- Fixed incorrect use of ``break`` in nested for loop (:ghc-ticket:`26052`) +- Fixed linker to not fail due to ``RTLD_NOW`` (:ghc-ticket:`25943`) +- Dropped obsolete Windows XP compatibility checks + +GHCi +~~~~ + +- Fixed ``mkTopLevEnv`` to use ``loadInterfaceForModule`` instead of ``loadSrcInterface`` (:ghc-ticket:`25951`) + +Template Haskell +~~~~~~~~~~~~~~~~ + +- Added explicit export lists to all remaining template-haskell modules + +Build system +~~~~~~~~~~~~~~~~ + +- Exposed all of Backtraces' internals for ghc-internal (:ghc-ticket:`26049`) +- Fixed cross-compilation configuration override (:ghc-ticket:`26236`) Included libraries ~~~~~~~~~~~~~~~~~~ ===================================== hadrian/src/Settings/Warnings.hs ===================================== @@ -43,7 +43,9 @@ ghcWarningsArgs = do , package base ? pure [ "-Wno-trustworthy-safe" ] , package binary ? pure [ "-Wno-deprecations" ] , package bytestring ? pure [ "-Wno-inline-rule-shadowing" ] - , package compiler ? pure [ "-Wcpp-undef" ] + , package compiler ? pure [ "-Wcpp-undef" + , "-Wno-deprecations" + ] , package directory ? pure [ "-Wno-unused-imports" , "-Wno-deprecations" -- https://gitlab.haskell.org/ghc/ghc/-/issues/24240 ] @@ -63,6 +65,7 @@ ghcWarningsArgs = do , "-Wno-redundant-constraints" , "-Wno-simplifiable-class-constraints" , "-Wno-deriving-typeable" ] + , package osString ? pure [ "-Wno-unused-imports" ] , package pretty ? pure [ "-Wno-unused-imports" ] , package primitive ? pure [ "-Wno-unused-imports" , "-Wno-deprecations" ] ===================================== libraries/base/base.cabal.in ===================================== @@ -4,7 +4,7 @@ cabal-version: 3.0 -- Make sure you are editing ghc-experimental.cabal.in, not ghc-experimental.cabal name: base -version: 4.21.0.0 +version: 4.21.1.0 -- NOTE: Don't forget to update ./changelog.md license: BSD-3-Clause ===================================== libraries/base/changelog.md ===================================== @@ -1,10 +1,8 @@ # Changelog for [`base` package](http://hackage.haskell.org/package/base) -## 4.21.2.0 *Sept 2024* - * Fix bug where `naturalAndNot` was incorrectly truncating results ([CLC proposal #350](github.com/haskell/core-libraries-committee/issues/350)) - ## 4.21.1.0 *Sept 2024* * Fix incorrect results of `integerPowMod` when the base is 0 and the exponent is negative, and `integerRecipMod` when the modulus is zero ([#26017](https://gitlab.haskell.org/ghc/ghc/-/issues/26017)). + * Fix bug where `naturalAndNot` was incorrectly truncating results ([CLC proposal #350](github.com/haskell/core-libraries-committee/issues/350)) ## 4.21.0.0 *December 2024* * Shipped with GHC 9.12.1 ===================================== libraries/exceptions ===================================== @@ -1 +1 @@ -Subproject commit 8e55b720f45db91f4895f710863ef9dbc10fe569 +Subproject commit b3a88ccc70acd7aa83be64235ab8c3ef1f08e96b ===================================== libraries/os-string ===================================== @@ -1 +1 @@ -Subproject commit 4b5efedcd2da9314edda80d973a44e67020370db +Subproject commit c08666bf7bf528e607fc1eacc20032ec59e69df3 ===================================== libraries/process ===================================== @@ -1 +1 @@ -Subproject commit 9c3bfc214c72bbd0c8a30a1c41465deed0feaf47 +Subproject commit f7d51387ba7f7f6079f3a9d5ce011ad9359b7dbb ===================================== libraries/text ===================================== @@ -1 +1 @@ -Subproject commit b86564cae8d7262c7c4e7afe7a9163c83de3f175 +Subproject commit 5f343f668f421bfb30cead594e52d0ac6206ff67 ===================================== libraries/unix ===================================== @@ -1 +1 @@ -Subproject commit 74ae1c0d9dd1518434f7d6cd3e63d7769599e0f9 +Subproject commit 90e7d70de337ad759102b2445ebef6980684a9d3 ===================================== testsuite/driver/testlib.py ===================================== @@ -1725,7 +1725,7 @@ async def do_test(name: TestName, dst_makefile = in_testdir('Makefile') if src_makefile.exists(): makefile = src_makefile.read_text(encoding='UTF-8') - makefile = re.sub('TOP=.*', 'TOP=%s' % config.top, makefile, 1) + makefile = re.sub('TOP=.*', 'TOP=%s' % config.top, makefile, count=1) dst_makefile.write_text(makefile, encoding='UTF-8') if opts.pre_cmd: ===================================== testsuite/tests/driver/T20604/T20604.stdout ===================================== @@ -1,5 +1,11 @@ A1 A -addDependentFile "/home/teo/git/ghc/_build/stage1/lib/../lib/x86_64-linux-ghc-9.11.20240508/libHSghc-prim-0.11.0-inplace-ghc9.11.20240508.so" a63ccfcae8455a0abc22cfbd2ee0fee4 -addDependentFile "/home/teo/git/ghc/_build/stage1/lib/../lib/x86_64-linux-ghc-9.11.20240508/libHSghc-bignum-1.3-inplace-ghc9.11.20240508.so" fe8ae214b210d7ae50739f9b74c6d3bc -addDependentFile "/home/teo/git/ghc/_build/stage1/lib/../lib/x86_64-linux-ghc-9.11.20240508/libHSghc-internal-9.1001.0-inplace-ghc9.11.20240508.so" cce9e35d3fb6c65a080cdb8a570f3caf +addDependentFile "/home/zubin/ghcs/unicode-lex/_build_devel2/stage1/lib/../lib/x86_64-linux-ghc-9.10.2.20250728/ghc-prim-0.12.0-inplace/libHSghc-prim-0.12.0-inplace.a" 019a1208b8742850eeb197adcf0445f3 +addDependentFile "/home/zubin/ghcs/unicode-lex/_build_devel2/stage1/lib/../lib/x86_64-linux-ghc-9.10.2.20250728/ghc-bignum-1.3-inplace/libHSghc-bignum-1.3-inplace.a" ca54044c2ea501531ac3016a72a9d92b +addDependentFile "/home/zubin/ghcs/unicode-lex/_build_devel2/stage1/lib/../lib/x86_64-linux-ghc-9.10.2.20250728/ghc-internal-9.1002.0-inplace/libHSghc-internal-9.1002.0-inplace.a" 1c2b59e426d6ae9172eb46d890155e19 +addDependentFile "/home/zubin/ghcs/unicode-lex/_build_devel2/stage1/lib/../lib/x86_64-linux-ghc-9.10.2.20250728/base-4.20.2.0-inplace/libHSbase-4.20.2.0-inplace.a" 820a64d9cb81281e10660ded650e973f +addDependentFile "/home/zubin/ghcs/unicode-lex/_build_devel2/stage1/lib/../lib/x86_64-linux-ghc-9.10.2.20250728/ghc-boot-th-9.10.2.20250728-inplace/libHSghc-boot-th-9.10.2.20250728-inplace.a" 47565629d3614763d649bde91000bf42 +addDependentFile "/home/zubin/ghcs/unicode-lex/_build_devel2/stage1/lib/../lib/x86_64-linux-ghc-9.10.2.20250728/array-0.5.8.0-inplace/libHSarray-0.5.8.0-inplace.a" 7fb37d6d03900a689d24212e83d3f729 +addDependentFile "/home/zubin/ghcs/unicode-lex/_build_devel2/stage1/lib/../lib/x86_64-linux-ghc-9.10.2.20250728/deepseq-1.5.0.0-inplace/libHSdeepseq-1.5.0.0-inplace.a" 316be3ed9f3b5e893b2eb9924f8bb698 +addDependentFile "/home/zubin/ghcs/unicode-lex/_build_devel2/stage1/lib/../lib/x86_64-linux-ghc-9.10.2.20250728/pretty-1.1.3.6-inplace/libHSpretty-1.1.3.6-inplace.a" ab975b458837cd4dd7a38be2c7e71603 +addDependentFile "/home/zubin/ghcs/unicode-lex/_build_devel2/stage1/lib/../lib/x86_64-linux-ghc-9.10.2.20250728/template-haskell-2.22.0.0-inplace/libHStemplate-haskell-2.22.0.0-inplace.a" 8520e0f59701ce4073df664d176ade9c ===================================== testsuite/tests/polykinds/T14172.stderr ===================================== @@ -1,6 +1,6 @@ T14172.hs:7:46: error: [GHC-88464] - • Found type wildcard ‘_’ standing for ‘a'1 :: k0’ - Where: ‘k0’ is an ambiguous type variable + • Found type wildcard ‘_’ standing for ‘a'1 :: k30’ + Where: ‘k30’ is an ambiguous type variable ‘a'1’ is an ambiguous type variable To use the inferred type, enable PartialTypeSignatures • In the first argument of ‘h’, namely ‘_’ View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/f2a7e80702da40bdc39a89a99387522... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/f2a7e80702da40bdc39a89a99387522... You're receiving this email because of your account on gitlab.haskell.org.