Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Dylan Yudaken
GHC
Commits
38b739b7
Commit
38b739b7
authored
Aug 03, 2009
by
Simon Marlow
Browse files
Fix #3412: the worker of an Id might not be a local Id
parent
fee305ed
Changes
1
Hide whitespace changes
Inline
Side-by-side
compiler/main/TidyPgm.lhs
View file @
38b739b7
...
...
@@ -613,7 +613,7 @@ chooseExternalIds hsc_env mod omit_prags binds
| otherwise = do
(occ_env', name') <- tidyTopName mod nc_var (Just referrer) occ_env id
let
rhs = expectJust "chooseExternalIds
"
$ lookupVarEnv bind_env id
rhs = expectJust
(showSDoc (text
"chooseExternalIds
: " <> ppr id))
$ lookupVarEnv bind_env id
(new_ids, show_unfold)
| omit_prags = ([], False)
| otherwise = addExternal id rhs
...
...
@@ -635,7 +635,8 @@ addExternal :: Id -> CoreExpr -> ([Id],Bool)
addExternal id rhs = (new_needed_ids, show_unfold)
where
new_needed_ids = unfold_ids ++
filter (not . (`elemVarSet` unfold_set))
filter (\id -> isLocalId id &&
not (id `elemVarSet` unfold_set))
(varSetElems worker_ids ++
varSetElems spec_ids) -- XXX non-det ordering
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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