diff options
| author | simonpj <unknown> | 2000-10-12 15:26:48 +0000 |
|---|---|---|
| committer | simonpj <unknown> | 2000-10-12 15:26:48 +0000 |
| commit | 0a25e90a913d0381b7e706bd59aff4c787bad3db (patch) | |
| tree | 3f5abe7df4463aa8bb7b1c2fe1440463f552bf43 /ghc/compiler/rename | |
| parent | e796da890fc22b926fd6d3949d958987e9abb77f (diff) | |
| download | haskell-0a25e90a913d0381b7e706bd59aff4c787bad3db.tar.gz | |
[project @ 2000-10-12 15:26:48 by simonpj]
Work on initialisation of persistent compiler state
Diffstat (limited to 'ghc/compiler/rename')
| -rw-r--r-- | ghc/compiler/rename/RnMonad.lhs | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/ghc/compiler/rename/RnMonad.lhs b/ghc/compiler/rename/RnMonad.lhs index 37639feb47..6f8c17cb86 100644 --- a/ghc/compiler/rename/RnMonad.lhs +++ b/ghc/compiler/rename/RnMonad.lhs @@ -115,7 +115,7 @@ data RnDown -- this module rn_errs :: IORef (Bag WarnMsg, Bag ErrMsg), - rn_ns :: IORef NameSupply, + rn_ns :: IORef (UniqSupply, OrigNameEnv), rn_ifaces :: IORef Ifaces } @@ -328,22 +328,22 @@ initRn :: DynFlags -> Finder -> GlobalSymbolTable -> PersistentRenamerState -> Module -> SrcLoc -initRn dflags finder gst prs mod loc do_rn = do - names_var <- newIORef (prsNS pcs) - errs_var <- newIORef (emptyBag,emptyBag) - iface_var <- newIORef (initIfaces prs) - let - rn_down = RnDown { rn_mod = mod, - rn_loc = loc, - - rn_finder = finder, - rn_dflags = dflags, - rn_gst = gst, - - rn_ns = names_var, - rn_errs = errs_var, - rn_ifaces = iface_var, - } +initRn dflags finder gst prs mod loc do_rn + = do { uniqs <- mkSplitUniqSupply 'r' + names_var <- newIORef (uniqs, prsOrig pcs) + errs_var <- newIORef (emptyBag,emptyBag) + iface_var <- newIORef (initIfaces prs) + let rn_down = RnDown { rn_mod = mod, + rn_loc = loc, + + rn_finder = finder, + rn_dflags = dflags, + rn_gst = gst, + + rn_ns = names_var, + rn_errs = errs_var, + rn_ifaces = iface_var, + } -- do the business res <- do_rn rn_down () |
