import AbsCUtils ( mkAbstractCs, mkAbsCStmts )
import Bag ( foldBag )
+import CgBindery ( CgIdInfo )
import CgClosure ( cgTopRhsClosure )
import CgCon ( cgTopRhsCon )
import CgConTbls ( genStaticConBits )
import CmdLineOpts ( opt_SccProfilingOn, opt_CompilingGhcInternals,
opt_EnsureSplittableC, opt_SccGroup
)
+import CostCentre ( CostCentre )
import CStrings ( modnameToC )
+import FiniteMap ( FiniteMap )
+import Id ( SYN_IE(Id) )
import Maybes ( maybeToBool )
+import Name ( SYN_IE(Module) )
import PrimRep ( getPrimRepSize, PrimRep(..) )
+import Type ( SYN_IE(Type) )
+import TyCon ( TyCon )
import Util ( panic, assertPanic )
\end{code}
= let
doing_profiling = opt_SccProfilingOn
compiling_prelude = opt_CompilingGhcInternals
- maybe_split = if maybeToBool (opt_EnsureSplittableC)
- then CSplitMarker
- else AbsCNop
-
- cinfo = MkCompInfo mod_name
+ maybe_split = if opt_EnsureSplittableC then CSplitMarker else AbsCNop
+ cinfo = MkCompInfo mod_name
in
if not doing_profiling then
mkAbstractCs [
= ASSERT(null fvs) -- There should be no free variables
forkStatics (cgTopRhsClosure name cc bi args body lf_info)
where
- lf_info = mkClosureLFInfo True{-top level-} [{-no fvs-}] upd_flag args body
+ lf_info = mkClosureLFInfo True{-top level-} [{-no fvs-}] upd_flag args
\end{code}