summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2012-09-18 14:49:16 +0100
committerSimon Marlow <marlowsd@gmail.com>2012-09-18 14:51:05 +0100
commit3f2eeeedf8a59efbbf904b57f65e1686f9dd6e8b (patch)
tree0413943264980ac4acf13114b76e2b7c79790036
parent027a654c2003569a6fb74f86a9548101ecd1ffa9 (diff)
downloadhaskell-3f2eeeedf8a59efbbf904b57f65e1686f9dd6e8b.tar.gz
Declare SRT labels correctly in the via-C backend
-rw-r--r--compiler/cmm/CLabel.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/cmm/CLabel.hs b/compiler/cmm/CLabel.hs
index 907f8521e1..1ff76c6fe4 100644
--- a/compiler/cmm/CLabel.hs
+++ b/compiler/cmm/CLabel.hs
@@ -590,9 +590,9 @@ hasCAF _ = False
needsCDecl :: CLabel -> Bool
-- False <=> it's pre-declared; don't bother
- -- don't bother declaring SRT & Bitmap labels, we always make sure
+ -- don't bother declaring Bitmap labels, we always make sure
-- they are defined before use.
-needsCDecl (SRTLabel _ _) = False
+needsCDecl (SRTLabel _ _) = True
needsCDecl (LargeSRTLabel _) = False
needsCDecl (LargeBitmapLabel _) = False
needsCDecl (IdLabel _ _ _) = True
@@ -788,7 +788,7 @@ labelType (RtsLabel (RtsApFast _)) = CodeLabel
labelType (CaseLabel _ CaseReturnInfo) = DataLabel
labelType (CaseLabel _ _) = CodeLabel
labelType (PlainModuleInitLabel _) = CodeLabel
-labelType (SRTLabel _ _) = CodeLabel
+labelType (SRTLabel _ _) = DataLabel
labelType (LargeSRTLabel _) = DataLabel
labelType (LargeBitmapLabel _) = DataLabel
labelType (ForeignLabel _ _ _ IsFunction) = CodeLabel