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

Commits:

14 changed files:

Changes:

  • 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
     ~~~~~~~~~~~~~~~~~~
    

  • hadrian/src/Settings/Warnings.hs
    ... ... @@ -43,7 +43,9 @@ ghcWarningsArgs = do
    43 43
             , package base         ? pure [ "-Wno-trustworthy-safe" ]
    
    44 44
             , package binary       ? pure [ "-Wno-deprecations" ]
    
    45 45
             , package bytestring   ? pure [ "-Wno-inline-rule-shadowing" ]
    
    46
    -        , package compiler     ? pure [ "-Wcpp-undef" ]
    
    46
    +        , package compiler     ? pure [ "-Wcpp-undef"
    
    47
    +                                      , "-Wno-deprecations"
    
    48
    +                                      ]
    
    47 49
             , package directory    ? pure [ "-Wno-unused-imports"
    
    48 50
                                           , "-Wno-deprecations" -- https://gitlab.haskell.org/ghc/ghc/-/issues/24240
    
    49 51
                                           ]
    
    ... ... @@ -63,6 +65,7 @@ ghcWarningsArgs = do
    63 65
                                           , "-Wno-redundant-constraints"
    
    64 66
                                           , "-Wno-simplifiable-class-constraints"
    
    65 67
                                           , "-Wno-deriving-typeable" ]
    
    68
    +        , package osString     ? pure [ "-Wno-unused-imports" ]
    
    66 69
             , package pretty       ? pure [ "-Wno-unused-imports" ]
    
    67 70
             , package primitive    ? pure [ "-Wno-unused-imports"
    
    68 71
                                           , "-Wno-deprecations" ]
    

  • 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
    

  • libraries/exceptions
    1
    -Subproject commit 8e55b720f45db91f4895f710863ef9dbc10fe569
    1
    +Subproject commit b3a88ccc70acd7aa83be64235ab8c3ef1f08e96b

  • libraries/os-string
    1
    -Subproject commit 4b5efedcd2da9314edda80d973a44e67020370db
    1
    +Subproject commit c08666bf7bf528e607fc1eacc20032ec59e69df3

  • libraries/process
    1
    -Subproject commit 9c3bfc214c72bbd0c8a30a1c41465deed0feaf47
    1
    +Subproject commit f7d51387ba7f7f6079f3a9d5ce011ad9359b7dbb

  • libraries/text
    1
    -Subproject commit b86564cae8d7262c7c4e7afe7a9163c83de3f175
    1
    +Subproject commit 5f343f668f421bfb30cead594e52d0ac6206ff67

  • libraries/time
    1
    -Subproject commit e5c5d1987011efe88a21ab6ded45aaa33a16274f
    1
    +Subproject commit 507f50844802f1469ba6cadfeefd4e3fecee0416

  • libraries/unix
    1
    -Subproject commit 74ae1c0d9dd1518434f7d6cd3e63d7769599e0f9
    1
    +Subproject commit 90e7d70de337ad759102b2445ebef6980684a9d3

  • 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/driver/T20604/T20604.stdout
    1 1
     A1
    
    2 2
     A
    
    3
    -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
    
    4
    -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
    
    5
    -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
    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

  • 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 ‘_’