Properly ppr InstEqs in wanteds of implication constraints
[ghc-hetmet.git] / compiler / codeGen / CgHpc.hs
index b2e3a9a..516a9c7 100644 (file)
@@ -1,3 +1,10 @@
+{-# OPTIONS -w #-}
+-- The above warning supression flag is a temporary kludge.
+-- While working on this module you are encouraged to remove it and fix
+-- any warnings in the module. See
+--     http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
+-- for details
+
 -----------------------------------------------------------------------------
 --
 -- Code generation for coverage
@@ -6,13 +13,6 @@
 --
 -----------------------------------------------------------------------------
 
-{-# OPTIONS -w #-}
--- The above warning supression flag is a temporary kludge.
--- While working on this module you are encouraged to remove it and fix
--- any warnings in the module. See
---     http://hackage.haskell.org/trac/ghc/wiki/CodingStyle#Warnings
--- for details
-
 module CgHpc (cgTickBox, initHpc, hpcTable) where
 
 import Cmm
@@ -31,6 +31,8 @@ import Char
 import StaticFlags
 import PackageConfig 
 
+import Data.Word
+
 cgTickBox :: Module -> Int -> Code
 cgTickBox mod n = do
        let tick_box = (cmmIndex I64
@@ -77,8 +79,8 @@ initHpc this_mod (HpcInfo tickCount hashNo)
                   CCallConv
                )
                [ (mkLblExpr mkHpcModuleNameLabel,PtrHint)
-               , (CmmLit $ mkIntCLit tickCount,NoHint)
-               , (CmmLit $ mkIntCLit hashNo,NoHint)
+               , (word32 tickCount, NoHint)
+               , (word32 hashNo,    NoHint)
                , (CmmLit $ CmmLabel $ mkHpcTicksLabel $ this_mod,PtrHint)
                ]
                (Just [])
@@ -86,5 +88,6 @@ initHpc this_mod (HpcInfo tickCount hashNo)
                CmmMayReturn
        }
   where
+       word32 i = CmmLit (CmmInt (fromIntegral (fromIntegral i :: Word32)) I32)
        mod_alloc = mkFastString "hs_hpc_module"