summaryrefslogtreecommitdiff
path: root/compiler/codeGen/ClosureInfo.lhs
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2012-01-04 15:40:41 +0000
committerSimon Marlow <marlowsd@gmail.com>2012-01-05 15:20:18 +0000
commit974f45103b930ed4310f9ec67b20399e3f289adf (patch)
tree7e7774440c4906a6fbe7323425e8cddc09c5a907 /compiler/codeGen/ClosureInfo.lhs
parenta385b85eb5bd62e696a2b6b3048ddae3e97f58eb (diff)
downloadhaskell-974f45103b930ed4310f9ec67b20399e3f289adf.tar.gz
Fixup to 4464c92badaedc45ce53d6349f6790f6d2298103
Instead of enterLocalIdLabel we should get the label from the ClosureInfo, because that knows better whether the label should be local or not. Needed by #5357
Diffstat (limited to 'compiler/codeGen/ClosureInfo.lhs')
-rw-r--r--compiler/codeGen/ClosureInfo.lhs5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/codeGen/ClosureInfo.lhs b/compiler/codeGen/ClosureInfo.lhs
index 8dc86ab39b..34746984c2 100644
--- a/compiler/codeGen/ClosureInfo.lhs
+++ b/compiler/codeGen/ClosureInfo.lhs
@@ -963,7 +963,10 @@ infoTableLabelFromCI :: ClosureInfo -> CLabel
infoTableLabelFromCI = fst . labelsFromCI
entryLabelFromCI :: ClosureInfo -> CLabel
-entryLabelFromCI = snd . labelsFromCI
+entryLabelFromCI ci
+ | tablesNextToCode = info_lbl
+ | otherwise = entry_lbl
+ where (info_lbl, entry_lbl) = labelsFromCI ci
labelsFromCI :: ClosureInfo -> (CLabel, CLabel) -- (Info, Entry)
labelsFromCI cl@(ClosureInfo { closureName = name,