X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcodeGen%2FCgInfoTbls.hs;h=e2e07f94ca440e64e6516391e8dda95af245238e;hb=b1ab4b8a607addc4d097588db5761313c996a41f;hp=da480050e0f6fa1edcf9555897c7b35bdd2b1bf8;hpb=b648333f6b4c78f7ac1528cd9f780221a058591e;p=ghc-hetmet.git diff --git a/compiler/codeGen/CgInfoTbls.hs b/compiler/codeGen/CgInfoTbls.hs index da48005..e2e07f9 100644 --- a/compiler/codeGen/CgInfoTbls.hs +++ b/compiler/codeGen/CgInfoTbls.hs @@ -21,7 +21,7 @@ module CgInfoTbls ( getConstrTag, infoTable, infoTableClosureType, infoTablePtrs, infoTableNonPtrs, - funInfoTable + funInfoTable, makeRelativeRefTo ) where @@ -47,8 +47,6 @@ import StaticFlags import Maybes import Constants -import Outputable - ------------------------------------------------------------------------- -- -- Generating the info table and code for a closure @@ -89,7 +87,7 @@ emitClosureCodeAndInfoTable cl_info args body ; conName <- if is_con - then do cstr <- mkStringCLit $ fromJust conIdentity + then do cstr <- mkByteStringCLit $ fromJust conIdentity return (makeRelativeRefTo info_lbl cstr) else return (mkIntCLit 0) @@ -111,7 +109,8 @@ emitClosureCodeAndInfoTable cl_info args body Just con -> -- Constructors don't have an SRT -- We keep the *zero-indexed* tag in the srt_len -- field of the info table. - (mkIntCLit 0, fromIntegral (dataConTagZ con), Just $ dataConIdentity con) + (mkIntCLit 0, fromIntegral (dataConTagZ con), + Just $ dataConIdentity con) Nothing -> -- Not a constructor let (label, len) = srtLabelAndLength srt info_lbl