Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Alex D
GHC
Commits
1f75440f
Commit
1f75440f
authored
Aug 22, 2016
by
Edward Z. Yang
Browse files
Extra comments, as per SPJ in #12035.
Signed-off-by:
Edward Z. Yang
<
ezyang@cs.stanford.edu
>
parent
fb0d87f1
Changes
2
Hide whitespace changes
Inline
Side-by-side
compiler/iface/TcIface.hs
View file @
1f75440f
...
...
@@ -1421,6 +1421,10 @@ ifKnotErr name env_doc type_env = vcat
-- * Note [Knot-tying typecheckIface]
-- * Note [DFun knot-tying]
-- * Note [hsc_type_env_var hack]
--
-- There is also a wiki page on the subject, see:
--
-- https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/TyingTheKnot
tcIfaceTyConByName
::
IfExtName
->
IfL
TyCon
tcIfaceTyConByName
name
...
...
compiler/main/GhcMake.hs
View file @
1f75440f
...
...
@@ -1049,6 +1049,8 @@ parUpsweep_one mod home_mod_map comp_graph_loops lcl_dflags cleanup par_sem
let
lcl_hsc_env
=
localize_hsc_env
hsc_env
-- Re-typecheck the loop
-- This is necessary to make sure the knot is tied when
-- we close a recursive module loop, see bug #12035.
type_env_var
<-
liftIO
$
newIORef
emptyNameEnv
let
lcl_hsc_env'
=
lcl_hsc_env
{
hsc_type_env_var
=
Just
(
ms_mod
lcl_mod
,
type_env_var
)
}
...
...
@@ -1158,7 +1160,8 @@ upsweep old_hpt stable_mods cleanup sccs = do
-- Lazily reload the HPT modules participating in the loop.
-- See Note [Tying the knot]--if we don't throw out the old HPT
-- and reinitalize the knot-tying process, anything that was forced
-- while we were previously typechecking won't get updated.
-- while we were previously typechecking won't get updated, this
-- was bug #12035.
hsc_env2
<-
liftIO
$
reTypecheckLoop
hsc_env1
mod
done
setSession
hsc_env2
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment