diff options
author | Ben Gamari <ben@smart-cactus.org> | 2020-11-20 17:31:57 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2020-11-20 17:35:46 -0500 |
commit | 612b4f9a296cf6634a3e85ab16befe1435f64fc6 (patch) | |
tree | fbbb43921a26bcfb75148b9fd0acfb8cc84a3d44 /compiler/GHC/Driver/CodeOutput.hs | |
parent | 8150f6546e6fd0006252e245d5697f13ffd8ce3e (diff) | |
download | haskell-wip/dump-c.tar.gz |
Implement -ddump-c-backend argumentwip/dump-c
To dump output of the C backend.
Diffstat (limited to 'compiler/GHC/Driver/CodeOutput.hs')
-rw-r--r-- | compiler/GHC/Driver/CodeOutput.hs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/GHC/Driver/CodeOutput.hs b/compiler/GHC/Driver/CodeOutput.hs index 4886d5a2ee..2bb30656dd 100644 --- a/compiler/GHC/Driver/CodeOutput.hs +++ b/compiler/GHC/Driver/CodeOutput.hs @@ -138,7 +138,13 @@ outputC dflags filenm cmm_stream packages = hPutStr h ("/* GHC_PACKAGES " ++ unwords pkg_names ++ "\n*/\n") hPutStr h "#include \"Stg.h\"\n" let platform = targetPlatform dflags - writeC = printForC dflags h . cmmToC platform + writeC cmm = do + let doc = cmmToC platform cmm + dumpIfSet_dyn dflags Opt_D_dump_c_backend + "C backend output" + FormatC + doc + printForC dflags h doc Stream.consume cmm_stream writeC {- |