Hannes Siebenhandl pushed to branch wip/fendor/bump-ci-to-9.10 at Glasgow Haskell Compiler / GHC

Commits:

10 changed files:

Changes:

  • .gitlab/darwin/toolchain.nix
    ... ... @@ -16,18 +16,17 @@ let
    16 16
       ghcBindists = let version = ghc.version; in {
    
    17 17
         aarch64-darwin = hostPkgs.fetchurl {
    
    18 18
           url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-aarch64-apple-darwin.tar.xz";
    
    19
    -      sha256 = "sha256-c1GTMJf3/yiW/t4QL532EswD5JVlgA4getkfsxj4TaA=";
    
    19
    +      sha256 = "sha256-/6+DtdeossBJIMbjkJwL4h3eJ7rzgNCV+ifoQKOi6AQ=";
    
    20 20
         };
    
    21 21
         x86_64-darwin = hostPkgs.fetchurl {
    
    22 22
           url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz";
    
    23
    -      sha256 = "sha256-LrYniMG0phsvyW6dhQC+3ompvzcxnwAe6GezEqqzoTQ=";
    
    23
    +      sha256 = "sha256-jPIhiJMOENesUnDUJeIaPatgavc6ZVSTY5NFIAxlC+k=";
    
    24 24
         };
    
    25 25
     
    
    26 26
       };
    
    27 27
     
    
    28 28
       ghc = pkgs.stdenv.mkDerivation rec {
    
    29
    -    # Using 9.6.2 because of #24050
    
    30
    -    version = "9.6.2";
    
    29
    +    version = "9.10.1";
    
    31 30
         name = "ghc";
    
    32 31
         src = ghcBindists.${pkgs.stdenv.hostPlatform.system};
    
    33 32
         configureFlags = [
    

  • CODEOWNERS
    ... ... @@ -59,7 +59,7 @@
    59 59
     /compiler/GHC/Runtime/Interpreter/Wasm.hs @TerrorJack
    
    60 60
     
    
    61 61
     [Core libraries]
    
    62
    -/libraries/base/                  @hvr
    
    62
    +/libraries/base/                  @core-libraries
    
    63 63
     /libraries/ghci/                  @simonmar
    
    64 64
     /libraries/template-haskell/      @rae
    
    65 65
     /testsuite/tests/interface-stability/ @core-libraries
    

  • compiler/GHC/CmmToAsm/LA64/CodeGen.hs
    ... ... @@ -1972,9 +1972,17 @@ genCCall target dest_regs arg_regs = do
    1972 1972
                   (val, fmt_val, code_val) <- getSomeReg val_reg
    
    1973 1973
                   let instrs = case ord of
    
    1974 1974
                           MemOrderRelaxed -> unitOL $ ann moDescr (ST fmt_val (OpReg w val) (OpAddr $ AddrReg p))
    
    1975
    -                      -- implement with AMSWAPDB
    
    1976
    -                      MemOrderRelease -> unitOL $ ann moDescr (AMSWAPDB fmt_val (OpReg w zeroReg) (OpReg w val) (OpReg w p))
    
    1977
    -                      MemOrderSeqCst  -> unitOL $ ann moDescr (AMSWAPDB fmt_val (OpReg w zeroReg) (OpReg w val) (OpReg w p))
    
    1975
    +                      -- AMSWAP_DB* insns implentment a fully functional synchronization barrier, like DBAR 0x0.
    
    1976
    +                      -- This is terrible. And AMSWAPDB only supports ISA version greater than LA64V1_0. So,
    
    1977
    +                      -- implement with DBAR
    
    1978
    +                      MemOrderRelease -> toOL [
    
    1979
    +                                                ann moDescr (DBAR HintRelease),
    
    1980
    +                                                ST fmt_val (OpReg w val) (OpAddr $ AddrReg p)
    
    1981
    +                                              ]
    
    1982
    +                      MemOrderSeqCst  -> toOL [
    
    1983
    +                                                ann moDescr (DBAR HintSeqcst),
    
    1984
    +                                                ST fmt_val (OpReg w val) (OpAddr $ AddrReg p)
    
    1985
    +                                              ]
    
    1978 1986
                           _ ->  panic $ "Unexpected MemOrderAcquire on an AtomicWrite" ++ show mo
    
    1979 1987
                       moDescr = (text . show) mo
    
    1980 1988
                       code =
    

  • compiler/GHC/Driver/Main.hs
    ... ... @@ -245,7 +245,7 @@ import GHC.Types.IPE
    245 245
     import GHC.Types.SourceFile
    
    246 246
     import GHC.Types.SrcLoc
    
    247 247
     import GHC.Types.Name
    
    248
    -import GHC.Types.Name.Cache ( newNameCache, knownKeysOrigNameCache )
    
    248
    +import GHC.Types.Name.Cache ( newNameCache )
    
    249 249
     import GHC.Types.Name.Reader
    
    250 250
     import GHC.Types.Name.Ppr
    
    251 251
     import GHC.Types.TyThing
    
    ... ... @@ -322,7 +322,7 @@ newHscEnv top_dir dflags = do
    322 322
     
    
    323 323
     newHscEnvWithHUG :: FilePath -> DynFlags -> UnitId -> HomeUnitGraph -> IO HscEnv
    
    324 324
     newHscEnvWithHUG top_dir top_dynflags cur_unit home_unit_graph = do
    
    325
    -    nc_var  <- newNameCache 'r' knownKeysOrigNameCache
    
    325
    +    nc_var  <- newNameCache
    
    326 326
         fc_var  <- initFinderCache
    
    327 327
         logger  <- initLogger
    
    328 328
         tmpfs   <- initTmpFs
    

  • compiler/GHC/Types/Name/Cache.hs
    ... ... @@ -4,6 +4,7 @@
    4 4
     module GHC.Types.Name.Cache
    
    5 5
       ( NameCache (..)
    
    6 6
       , newNameCache
    
    7
    +  , newNameCacheWith
    
    7 8
       , initNameCache
    
    8 9
       , takeUniqFromNameCache
    
    9 10
       , updateNameCache'
    
    ... ... @@ -140,11 +141,27 @@ extendOrigNameCache nc mod occ name
    140 141
       where
    
    141 142
         combine _ occ_env = extendOccEnv occ_env occ name
    
    142 143
     
    
    143
    -newNameCache :: Char -> OrigNameCache -> IO NameCache
    
    144
    -newNameCache c nc = NameCache c <$> newMVar nc
    
    144
    +-- | Initialize a new name cache
    
    145
    +newNameCache :: IO NameCache
    
    146
    +newNameCache = newNameCacheWith 'r' knownKeysOrigNameCache
    
    145 147
     
    
    148
    +-- | This is a version of `newNameCache` that lets you supply your
    
    149
    +-- own unique tag and set of known key names. This can go wrong if the tag
    
    150
    +-- supplied is one reserved by GHC for internal purposes. See #26055 for
    
    151
    +-- an example.
    
    152
    +--
    
    153
    +-- Use `newNameCache` when possible.
    
    154
    +newNameCacheWith :: Char -> OrigNameCache -> IO NameCache
    
    155
    +newNameCacheWith c nc = NameCache c <$> newMVar nc
    
    156
    +
    
    157
    +-- | This takes a tag for uniques to be generated and the list of knownKeyNames
    
    158
    +-- These must be initialized properly to ensure that names generated from this
    
    159
    +-- NameCache do not conflict with known key names.
    
    160
    +--
    
    161
    +-- Use `newNameCache` or `newNameCacheWith` instead
    
    162
    +{-# DEPRECATED initNameCache "Use newNameCache or newNameCacheWith instead" #-}
    
    146 163
     initNameCache :: Char -> [Name] -> IO NameCache
    
    147
    -initNameCache c names = newNameCache c (initOrigNames names)
    
    164
    +initNameCache c names = newNameCacheWith c (initOrigNames names)
    
    148 165
     
    
    149 166
     initOrigNames :: [Name] -> OrigNameCache
    
    150 167
     initOrigNames names = foldl' extendOrigNameCache' emptyModuleEnv names
    

  • hadrian/stack.yaml
    1
    -# GHC's configure script reports that GHC versions 9.6 and greater are required
    
    1
    +# GHC's configure script reports that GHC versions 9.10 and greater are required
    
    2 2
     # to build GHC from source.
    
    3
    -resolver: lts-22.44 # GHC 9.6.7
    
    3
    +resolver: lts-24.2 # GHC 9.10.2
    
    4 4
     
    
    5 5
     packages:
    
    6 6
     - '.'
    

  • hadrian/stack.yaml.lock
    1 1
     # This file was autogenerated by Stack.
    
    2 2
     # You should not edit this file by hand.
    
    3 3
     # For more information, please see the documentation at:
    
    4
    -#   https://docs.haskellstack.org/en/stable/lock_files
    
    4
    +#   https://docs.haskellstack.org/en/stable/topics/lock_files
    
    5 5
     
    
    6 6
     packages:
    
    7 7
     - completed:
    
    ... ... @@ -40,9 +40,9 @@ packages:
    40 40
       original:
    
    41 41
         hackage: filepath-1.4.300.2
    
    42 42
     - completed:
    
    43
    -    hackage: process-1.6.25.0@sha256:092ab61596e914d21983aa2e9206a74c4faa38a5a636446b5c954305821cb496,2749
    
    43
    +    hackage: process-1.6.25.0@sha256:9a0b2ef8096517fa0e0c7a5e9a5c2ae5744ed824c3331005f9408245810df345,2640
    
    44 44
         pantry-tree:
    
    45
    -      sha256: bdab416d3c454ad716d4fab1ced490cc75330658c1c7c66a0b6f4b3e5125017b
    
    45
    +      sha256: 9c7927cd4d7f2f4c64251256eb6904800b3922fa5c5424c60f0e08441693e12b
    
    46 46
           size: 1790
    
    47 47
       original:
    
    48 48
         hackage: process-1.6.25.0
    
    ... ... @@ -55,7 +55,7 @@ packages:
    55 55
         hackage: unix-2.8.5.1
    
    56 56
     snapshots:
    
    57 57
     - completed:
    
    58
    -    sha256: 238fa745b64f91184f9aa518fe04bdde6552533d169b0da5256670df83a0f1a9
    
    59
    -    size: 721141
    
    60
    -    url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/44.yaml
    
    61
    -  original: lts-22.44
    58
    +    sha256: cd28bd74375205718f1d5fa221730a9c17a203059708b1eb95f4b20d68bf82d9
    
    59
    +    size: 724943
    
    60
    +    url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/24/2.yaml
    
    61
    +  original: lts-24.2

  • libraries/base/src/System/Console/GetOpt.hs
    ... ... @@ -315,7 +315,7 @@ arguments:
    315 315
     >    module Opts1 where
    
    316 316
     >
    
    317 317
     >    import System.Console.GetOpt
    
    318
    ->    import GHC.Internal.Data.Maybe ( fromMaybe )
    
    318
    +>    import Data.Maybe ( fromMaybe )
    
    319 319
     >
    
    320 320
     >    data Flag
    
    321 321
     >     = Verbose  | Version
    
    ... ... @@ -356,7 +356,7 @@ A different approach is to group the option values in a record of type
    356 356
     >    module Opts2 where
    
    357 357
     >
    
    358 358
     >    import System.Console.GetOpt
    
    359
    ->    import GHC.Internal.Data.Maybe ( fromMaybe )
    
    359
    +>    import Data.Maybe ( fromMaybe )
    
    360 360
     >
    
    361 361
     >    data Options = Options
    
    362 362
     >     { optVerbose     :: Bool
    

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

  • testsuite/tests/hiefile/should_run/TestUtils.hs
    ... ... @@ -25,9 +25,6 @@ import GHC.Iface.Ext.Utils
    25 25
     import GHC.Driver.Session
    
    26 26
     import GHC.SysTools
    
    27 27
     
    
    28
    -makeNc :: IO NameCache
    
    29
    -makeNc = initNameCache 'z' []
    
    30
    -
    
    31 28
     dynFlagsForPrinting :: String -> IO DynFlags
    
    32 29
     dynFlagsForPrinting libdir = do
    
    33 30
       systemSettings <- initSysTools libdir
    
    ... ... @@ -37,7 +34,7 @@ readTestHie :: FilePath -> IO (DynFlags, HieFile)
    37 34
     readTestHie fp = do
    
    38 35
       libdir:_ <- getArgs
    
    39 36
       df <- dynFlagsForPrinting libdir
    
    40
    -  nc <- makeNc
    
    37
    +  nc <- newNameCache
    
    41 38
       hfr <- readHieFile nc fp
    
    42 39
       pure (df, hie_file_result hfr)
    
    43 40