Zubin pushed to branch wip/26135 at Glasgow Haskell Compiler / GHC

Commits:

3 changed files:

Changes:

  • 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
    +  , newNameCache'
    
    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 = newNameCache' '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
    +newNameCache' :: Char -> OrigNameCache -> IO NameCache
    
    155
    +newNameCache' 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 `newNameCache'` instead
    
    162
    +{-# DEPRECATED initNameCache "Use newNameCache or newNameCache' instead" #-}
    
    146 163
     initNameCache :: Char -> [Name] -> IO NameCache
    
    147
    -initNameCache c names = newNameCache c (initOrigNames names)
    
    164
    +initNameCache c names = newNameCache' c (initOrigNames names)
    
    148 165
     
    
    149 166
     initOrigNames :: [Name] -> OrigNameCache
    
    150 167
     initOrigNames names = foldl' extendOrigNameCache' emptyModuleEnv names
    

  • 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