import PackageConfig ( rtsPackageId )
import Util
import FastString ( unpackFS )
-import Cmm ( Cmm )
+import Cmm ( RawCmm )
import HscTypes
import DynFlags
-> ModLocation
-> ForeignStubs
-> [PackageId]
- -> [Cmm] -- Compiled C--
+ -> [RawCmm] -- Compiled C--
-> IO (Bool{-stub_h_exists-}, Bool{-stub_c_exists-})
codeOutput dflags this_mod location foreign_stubs pkg_deps flat_abstractC
ffi_decl_headers
= case foreign_stubs of
- NoStubs -> []
- ForeignStubs _ _ fdhs _ -> map unpackFS (nub fdhs)
+ NoStubs -> []
+ ForeignStubs _ _ fdhs -> map unpackFS (nub fdhs)
-- Remove duplicates, because distinct foreign import decls
-- may cite the same #include. Order doesn't matter.
#ifndef OMIT_NATIVE_CODEGEN
= do ncg_uniqs <- mkSplitUniqSupply 'n'
- ncg_output_d <- _scc_ "NativeCodeGen"
+ ncg_output_d <- {-# SCC "NativeCodeGen" #-}
nativeCodeGen dflags flat_absC ncg_uniqs
dumpIfSet_dyn dflags Opt_D_dump_asm "Asm code" (docToSDoc ncg_output_d)
- _scc_ "OutputAsm" doOutput filenm $
+ {-# SCC "OutputAsm" #-} doOutput filenm $
\f -> printDoc LeftMode f ncg_output_d
where
stub_h_exists <- doesFileExist stub_h
return (stub_h_exists, stub_c_exists)
- | ForeignStubs h_code c_code _ _ <- stubs
+ | ForeignStubs h_code c_code _ <- stubs
= do
let
stub_c_output_d = pprCode CStyle c_code