--
-----------------------------------------------------------------------------
+{-# 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
+
module CgHpc (cgTickBox, initHpc, hpcTable) where
import Cmm
emitData Data $ [ CmmDataLabel (mkHpcTicksLabel this_mod)
] ++
[ CmmStaticLit (CmmInt 0 I64)
- | _ <- take hpc_tickCount [0..]
+ | _ <- take hpc_tickCount [0::Int ..]
]
where
module_name_str = moduleNameString (Module.moduleName this_mod)
else packageIdString (modulePackageId this_mod) ++ "/" ++
module_name_str
-hpcTable this_mod (NoHpcInfo) = error "TODO: impossible"
+hpcTable this_mod (NoHpcInfo {}) = error "TODO: impossible"
initHpc :: Module -> HpcInfo -> Code
initHpc this_mod (HpcInfo tickCount hashNo)
; emitForeignCall'
PlayRisky
[(id,NoHint)]
- (CmmForeignCall
+ (CmmCallee
(CmmLit $ CmmLabel $ mkForeignLabel mod_alloc Nothing False)
CCallConv
)
]
(Just [])
NoC_SRT -- No SRT b/c we PlayRisky
+ CmmMayReturn
}
where
mod_alloc = mkFastString "hs_hpc_module"