Generate Typeable info at definition sites
[ghc.git] / compiler / profiling / ProfInit.hs
index fa99a75..9fddc49 100644 (file)
@@ -10,9 +10,8 @@ module ProfInit (profilingInitCode) where
 
 import CLabel
 import CostCentre
+import DynFlags
 import Outputable
-import Platform
-import StaticFlags
 import FastString
 import Module
 
@@ -22,11 +21,12 @@ import Module
 -- We must produce declarations for the cost-centres defined in this
 -- module;
 
-profilingInitCode :: Platform -> Module -> CollectedCCs -> SDoc
-profilingInitCode platform this_mod (local_CCs, ___extern_CCs, singleton_CCSs)
- | not opt_SccProfilingOn = empty
- | otherwise
- = vcat
+profilingInitCode :: Module -> CollectedCCs -> SDoc
+profilingInitCode this_mod (local_CCs, ___extern_CCs, singleton_CCSs)
+ = sdocWithDynFlags $ \dflags ->
+   if not (gopt Opt_SccProfilingOn dflags)
+   then empty
+   else vcat
     [ text "static void prof_init_" <> ppr this_mod
          <> text "(void) __attribute__((constructor));"
     , text "static void prof_init_" <> ppr this_mod <> text "(void)"
@@ -39,8 +39,8 @@ profilingInitCode platform this_mod (local_CCs, ___extern_CCs, singleton_CCSs)
    emitRegisterCC cc   =
       ptext (sLit "extern CostCentre ") <> cc_lbl <> ptext (sLit "[];") $$
       ptext (sLit "REGISTER_CC(") <> cc_lbl <> char ')' <> semi
-     where cc_lbl = pprPlatform platform (mkCCLabel cc)
+     where cc_lbl = ppr (mkCCLabel cc)
    emitRegisterCCS ccs =
       ptext (sLit "extern CostCentreStack ") <> ccs_lbl <> ptext (sLit "[];") $$
       ptext (sLit "REGISTER_CCS(") <> ccs_lbl <> char ')' <> semi
-     where ccs_lbl = pprPlatform platform (mkCCSLabel ccs)
+     where ccs_lbl = ppr (mkCCSLabel ccs)