Zubin pushed to branch wip/9.12.3-backports at Glasgow Haskell Compiler / GHC

Commits:

9 changed files:

Changes:

  • .gitlab-ci.yml
    ... ... @@ -315,6 +315,7 @@ lint-ci-config:
    315 315
           - .gitlab/jobs-metadata.json
    
    316 316
           - .gitlab/jobs.yaml
    
    317 317
       dependencies: []
    
    318
    +  allow_failure: true
    
    318 319
     
    
    319 320
     lint-submods:
    
    320 321
       extends: .lint-submods
    

  • configure.ac
    ... ... @@ -22,7 +22,7 @@ AC_INIT([The Glorious Glasgow Haskell Compilation System], [9.12.2], [glasgow-ha
    22 22
     AC_CONFIG_MACRO_DIRS([m4])
    
    23 23
     
    
    24 24
     # Set this to YES for a released version, otherwise NO
    
    25
    -: ${RELEASE=YES}
    
    25
    +: ${RELEASE=NO}
    
    26 26
     
    
    27 27
     # The primary version (e.g. 7.5, 7.4.1) is set in the AC_INIT line
    
    28 28
     # 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
    13 13
     
    
    14 14
     - Fixed re-exports of ``MkSolo`` and ``MkSolo#`` (:ghc-ticket:`25182`)
    
    15 15
     - Fixed the behavior of ``Language.Haskell.TH.mkName "FUN"`` (:ghc-ticket:`25174`)
    
    16
    +- Fixed miscompilation involving ``zonkEqTypes`` on ``AppTy/AppTy`` (:ghc-ticket:`26256`)
    
    17
    +- Fixed CprAnal to detect recursive newtypes (:ghc-ticket:`25944`)
    
    18
    +- Fixed specialisation of incoherent instances (:ghc-ticket:`25883`)
    
    19
    +- Fixed bytecode generation for ``tagToEnum# <LITERAL>`` (:ghc-ticket:`25975`)
    
    20
    +- Fixed panic with EmptyCase and RequiredTypeArguments (:ghc-ticket:`25004`)
    
    21
    +- Fixed ``tyConStupidTheta`` to handle ``PromotedDataCon`` (:ghc-ticket:`25739`)
    
    22
    +- Fixed unused import warnings for duplicate record fields (:ghc-ticket:`24035`)
    
    23
    +- Fixed lexing of ``"\^\"`` (:ghc-ticket:`25937`)
    
    24
    +- Fixed string gap collapsing (:ghc-ticket:`25784`)
    
    25
    +- Fixed lexing of comments in multiline strings (:ghc-ticket:`25609`)
    
    26
    +- Made unexpected LLVM versions a warning rather than an error (:ghc-ticket:`25915`)
    
    27
    +- Disabled ``-fprof-late-overloaded-calls`` for join points to avoid invalid transformations
    
    28
    +- Fixed bugs in ``integerRecipMod`` and ``integerPowMod`` (:ghc-ticket:`26017`)
    
    29
    +- Fixed ``naturalAndNot`` for NB/NS case (:ghc-ticket:`26230`)
    
    30
    +- Fixed ``ds_ev_typeable`` to use ``mkTrAppChecked`` (:ghc-ticket:`25998`)
    
    31
    +- Fixed GHC settings to always unescape escaped spaces (:ghc-ticket:`25204`)
    
    32
    +- Fixed issue with HasCallStack constraint caching (:ghc-ticket:`25529`)
    
    33
    +- Fixed archive member size writing logic in ``GHC.SysTools.Ar`` (:ghc-ticket:`26120`, :ghc-ticket:`22586`)
    
    34
    +
    
    35
    +Runtime System
    
    36
    +~~~~~~~~~~~~~~
    
    37
    +
    
    38
    +- Fixed ``MessageBlackHole.link`` to always be a valid closure
    
    39
    +- Fixed handling of WHITEHOLE in ``messageBlackHole`` (:ghc-ticket:`26205`)
    
    40
    +- Fixed ``rts_clearMemory`` logic when sanity checks are enabled (:ghc-ticket:`26011`)
    
    41
    +- Fixed underflow frame lookups in the bytecode interpreter (:ghc-ticket:`25750`)
    
    42
    +- Fixed overflows and reentrancy in interpreter statistics calculation (:ghc-ticket:`25756`)
    
    43
    +- Fixed INTERP_STATS profiling code (:ghc-ticket:`25695`)
    
    44
    +- Removed problematic ``n_free`` variable from nonmovingGC (:ghc-ticket:`26186`)
    
    45
    +- Fixed incorrect format specifiers in era profiling
    
    46
    +- Improved documentation of SLIDE and PACK bytecode instructions
    
    47
    +- Eliminated redundant ``SLIDE x 0`` bytecode instructions
    
    48
    +- Fixed compile issues on powerpc64 ELF v1
    
    49
    +
    
    50
    +Code Generation
    
    51
    +~~~~~~~~~~~~~~~
    
    52
    +
    
    53
    +- Fixed LLVM built-in variable predicate (was checking ``$llvm`` instead of ``@llvm``)
    
    54
    +- Fixed linkage of built-in arrays for LLVM (:ghc-ticket:`25769`)
    
    55
    +- Fixed code generation for SSE vector operations (:ghc-ticket:`25859`)
    
    56
    +- Fixed ``bswap64`` code generation on i386 (:ghc-ticket:`25601`)
    
    57
    +- Fixed sub-word arithmetic right shift on AArch64 (:ghc-ticket:`26061`)
    
    58
    +- Fixed LLVM vector literal emission to include type information
    
    59
    +- Fixed LLVM version detection
    
    60
    +- Fixed typo in ``padLiveArgs`` that caused segfaults (:ghc-ticket:`25770`, :ghc-ticket:`25773`)
    
    61
    +- Fixed constant-folding for Word->Float bitcasts
    
    62
    +- Added surface syntax for Word/Float bitcast operations
    
    63
    +- Fixed ``MOVD`` format in x86 NCG for ``unpackInt64X2#``
    
    64
    +- Added ``-finter-module-far-jumps`` flag for AArch64
    
    65
    +- Fixed RV64 J instruction handling for non-local jumps (:ghc-ticket:`25738`)
    
    66
    +- Reapplied division by constants optimization
    
    67
    +- Fixed TNTC to set CmmProc entry_label properly (:ghc-ticket:`25565`)
    
    68
    +
    
    69
    +Linker
    
    70
    +~~~~~~
    
    71
    +
    
    72
    +- Improved efficiency of proddable blocks structure (:ghc-ticket:`26009`)
    
    73
    +- Fixed Windows DLL loading to avoid redundant ``LoadLibraryEx`` calls (:ghc-ticket:`26009`)
    
    74
    +- Fixed incorrect use of ``break`` in nested for loop (:ghc-ticket:`26052`)
    
    75
    +- Fixed linker to not fail due to ``RTLD_NOW`` (:ghc-ticket:`25943`)
    
    76
    +- Dropped obsolete Windows XP compatibility checks
    
    77
    +
    
    78
    +GHCi
    
    79
    +~~~~
    
    80
    +
    
    81
    +- Fixed ``mkTopLevEnv`` to use ``loadInterfaceForModule`` instead of ``loadSrcInterface`` (:ghc-ticket:`25951`)
    
    82
    +
    
    83
    +Template Haskell
    
    84
    +~~~~~~~~~~~~~~~~
    
    85
    +
    
    86
    +- Added explicit export lists to all remaining template-haskell modules
    
    87
    +
    
    88
    +Build system
    
    89
    +~~~~~~~~~~~~~~~~
    
    90
    +
    
    91
    +- Exposed all of Backtraces' internals for ghc-internal (:ghc-ticket:`26049`)
    
    92
    +- Fixed cross-compilation configuration override (:ghc-ticket:`26236`)
    
    16 93
     
    
    17 94
     Included libraries
    
    18 95
     ~~~~~~~~~~~~~~~~~~
    

  • libraries/base/base.cabal.in
    ... ... @@ -4,7 +4,7 @@ cabal-version: 3.0
    4 4
     -- Make sure you are editing ghc-experimental.cabal.in, not ghc-experimental.cabal
    
    5 5
     
    
    6 6
     name:           base
    
    7
    -version:        4.21.0.0
    
    7
    +version:        4.21.1.0
    
    8 8
     -- NOTE: Don't forget to update ./changelog.md
    
    9 9
     
    
    10 10
     license:        BSD-3-Clause
    

  • libraries/base/changelog.md
    1 1
     # Changelog for [`base` package](http://hackage.haskell.org/package/base)
    
    2 2
     
    
    3
    -## 4.21.2.0 *Sept 2024*
    
    4
    -  * Fix bug where `naturalAndNot` was incorrectly truncating results ([CLC proposal #350](github.com/haskell/core-libraries-committee/issues/350))
    
    5
    -
    
    6 3
     ## 4.21.1.0 *Sept 2024*
    
    7 4
       * 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)).
    
    5
    +  * Fix bug where `naturalAndNot` was incorrectly truncating results ([CLC proposal #350](github.com/haskell/core-libraries-committee/issues/350))
    
    8 6
     
    
    9 7
     ## 4.21.0.0 *December 2024*
    
    10 8
       * Shipped with GHC 9.12.1
    

  • testsuite/driver/testlib.py
    ... ... @@ -1725,7 +1725,7 @@ async def do_test(name: TestName,
    1725 1725
             dst_makefile = in_testdir('Makefile')
    
    1726 1726
             if src_makefile.exists():
    
    1727 1727
                 makefile = src_makefile.read_text(encoding='UTF-8')
    
    1728
    -            makefile = re.sub('TOP=.*', 'TOP=%s' % config.top, makefile, 1)
    
    1728
    +            makefile = re.sub('TOP=.*', 'TOP=%s' % config.top, makefile, count=1)
    
    1729 1729
                 dst_makefile.write_text(makefile, encoding='UTF-8')
    
    1730 1730
     
    
    1731 1731
         if opts.pre_cmd:
    

  • testsuite/tests/backpack/cabal/bkpcabal08/bkpcabal08.stdout
    ... ... @@ -13,13 +13,13 @@ Building library 'q' instantiated with
    13 13
     for bkpcabal08-0.1.0.0...
    
    14 14
     [2 of 4] Compiling B[sig]           ( q/B.hsig, nothing )
    
    15 15
     [3 of 4] Compiling M                ( q/M.hs, nothing ) [A changed]
    
    16
    -[4 of 4] Instantiating bkpcabal08-0.1.0.0-CoQJNXLfoYQ4TyvApzFHv-p
    
    16
    +[4 of 4] Instantiating bkpcabal08-0.1.0.0-Kp9zfG3ziUqEJBaLAu1d32-p
    
    17 17
     Preprocessing library 'q' for bkpcabal08-0.1.0.0...
    
    18 18
     Building library 'q' instantiated with
    
    19
    -  A = bkpcabal08-0.1.0.0-5HJrxUERN7CD204UZeT4Ws-impl:A
    
    20
    -  B = bkpcabal08-0.1.0.0-5HJrxUERN7CD204UZeT4Ws-impl:B
    
    19
    +  A = bkpcabal08-0.1.0.0-D4vXaroNoDaJMvvAtgjdtX-impl:A
    
    20
    +  B = bkpcabal08-0.1.0.0-D4vXaroNoDaJMvvAtgjdtX-impl:B
    
    21 21
     for bkpcabal08-0.1.0.0...
    
    22
    -[1 of 3] Compiling A[sig]           ( q/A.hsig, dist/build/bkpcabal08-0.1.0.0-1DQJ9DKc4h59P07qcb0kBc-q+J5mAfRWG9IgLmFQVftCb8t/A.o ) [Prelude package changed]
    
    23
    -[2 of 3] Compiling B[sig]           ( q/B.hsig, dist/build/bkpcabal08-0.1.0.0-1DQJ9DKc4h59P07qcb0kBc-q+J5mAfRWG9IgLmFQVftCb8t/B.o ) [Prelude package changed]
    
    22
    +[1 of 3] Compiling A[sig]           ( q/A.hsig, dist/build/bkpcabal08-0.1.0.0-6DurfqyJQywFVtea63QYmb-q+22gYsRiIDs71N0vTkoa781/A.o ) [Prelude package changed]
    
    23
    +[2 of 3] Compiling B[sig]           ( q/B.hsig, dist/build/bkpcabal08-0.1.0.0-6DurfqyJQywFVtea63QYmb-q+22gYsRiIDs71N0vTkoa781/B.o ) [Prelude package changed]
    
    24 24
     Preprocessing library 'r' for bkpcabal08-0.1.0.0...
    
    25 25
     Building library 'r' for bkpcabal08-0.1.0.0...

  • testsuite/tests/driver/T20604/T20604.stdout
    1 1
     A1
    
    2 2
     A
    
    3
    -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
    
    4
    -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
    
    5
    -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
    
    6
    -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
    
    7
    -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
    
    8
    -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
    
    9
    -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
    
    10
    -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
    
    11
    -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
    3
    +addDependentFile "/home/zubin/ghcs/exprType/_build_release/stage1/lib/../lib/x86_64-linux-ghc-9.12.2.20250917-inplace/libHSghc-prim-0.13.0-inplace-ghc9.12.2.20250917.so" 8803d0bdafc63e06222615bea8dc353d
    
    4
    +addDependentFile "/home/zubin/ghcs/exprType/_build_release/stage1/lib/../lib/x86_64-linux-ghc-9.12.2.20250917-inplace/libHSghc-bignum-1.3-inplace-ghc9.12.2.20250917.so" f17f0d2b06181c46da6178e187b358e0
    
    5
    +addDependentFile "/home/zubin/ghcs/exprType/_build_release/stage1/lib/../lib/x86_64-linux-ghc-9.12.2.20250917-inplace/libHSghc-internal-9.1202.0-inplace-ghc9.12.2.20250917.so" ec33682bace30c3a503fa37c72640d1c

  • testsuite/tests/polykinds/T14172.stderr
    1 1
     T14172.hs:7:46: error: [GHC-88464]
    
    2
    -    • Found type wildcard ‘_’ standing for ‘a'1 :: k0’
    
    3
    -      Where: ‘k0’ is an ambiguous type variable
    
    2
    +    • Found type wildcard ‘_’ standing for ‘a'1 :: k30’
    
    3
    +      Where: ‘k30’ is an ambiguous type variable
    
    4 4
                  ‘a'1’ is an ambiguous type variable
    
    5 5
           To use the inferred type, enable PartialTypeSignatures
    
    6 6
         • In the first argument of ‘h’, namely ‘_’