X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fcmm%2FCmmCPS.hs;h=ffd807b71ea838b5e3be9cc937b18f6e971d7562;hb=81f944da0ed9da6116800aeb575d6ea2a1937ac4;hp=e68216ac64b4fcccd3044d7e090c438cdba4d534;hpb=1c5499d4d5d506ce0cc971e98c09bfbf7bc290a1;p=ghc-hetmet.git diff --git a/compiler/cmm/CmmCPS.hs b/compiler/cmm/CmmCPS.hs index e68216a..ffd807b 100644 --- a/compiler/cmm/CmmCPS.hs +++ b/compiler/cmm/CmmCPS.hs @@ -1,3 +1,10 @@ +{-# OPTIONS -w #-} +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings +-- for details + module CmmCPS ( -- | Converts C-- with full proceedures and parameters -- to a CPS transformed C-- with the stack made manifest. @@ -355,8 +362,8 @@ continuationMaxStack formats (Continuation _ label _ False blocks) = argumentsSize (cmmExprRep . fst) args final_arg_size (FinalJump _ args) = argumentsSize (cmmExprRep . fst) args - final_arg_size (FinalCall next _ _ args _ True) = 0 - final_arg_size (FinalCall next _ _ args _ False) = + final_arg_size (FinalCall next _ _ args _ _ True) = 0 + final_arg_size (FinalCall next _ _ args _ _ False) = -- We have to account for the stack used when we build a frame -- for the *next* continuation from *this* continuation argumentsSize (cmmExprRep . fst) args + @@ -369,7 +376,7 @@ continuationMaxStack formats (Continuation _ label _ False blocks) = stmt_arg_size (CmmJump _ args) = argumentsSize (cmmExprRep . fst) args - stmt_arg_size (CmmCall _ _ _ (CmmSafe _)) = + stmt_arg_size (CmmCall _ _ _ (CmmSafe _) _) = panic "Safe call in processFormats" stmt_arg_size (CmmReturn _) = panic "CmmReturn in processFormats"