import PackageConfig ( rtsPackageId )
import Util
import FastString ( unpackFS )
-import Cmm ( Cmm )
+import Cmm ( RawCmm )
import HscTypes
import DynFlags
+
import ErrUtils ( dumpIfSet_dyn, showPass, ghcExit )
import Outputable
import Pretty ( Mode(..), printDoc )
-> 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
; stubs_exist <- outputForeignStubs dflags this_mod location foreign_stubs
; case hscTarget dflags of {
HscInterpreted -> return ();
- HscAsm -> outputAsm dflags filenm flat_abstractC;
+ HscAsm -> outputAsm dflags filenm this_mod location flat_abstractC;
HscC -> outputC dflags filenm this_mod location
flat_abstractC stubs_exist pkg_deps
foreign_stubs;
all_headers = c_includes
++ reverse cmdline_includes
++ ffi_decl_headers
-
+
let cc_injects = unlines (map mk_include all_headers)
mk_include h_file =
case h_file of
%************************************************************************
\begin{code}
-outputAsm dflags filenm flat_absC
+outputAsm dflags filenm this_mod location flat_absC
#ifndef OMIT_NATIVE_CODEGEN
= do ncg_uniqs <- mkSplitUniqSupply 'n'
- ncg_output_d <- _scc_ "NativeCodeGen"
- nativeCodeGen dflags flat_absC ncg_uniqs
+ ncg_output_d <- {-# SCC "NativeCodeGen" #-}
+ nativeCodeGen dflags this_mod location 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