Use OPTIONS rather than OPTIONS_GHC for pragmas
[ghc-hetmet.git] / compiler / codeGen / CgLetNoEscape.lhs
index ffec570..e3db6dc 100644 (file)
@@ -1,8 +1,7 @@
 %
+% (c) The University of Glasgow 2006
 % (c) The GRASP/AQUA Project, Glasgow University, 1993-1998
 %
-% $Id: CgLetNoEscape.lhs,v 1.26 2004/09/30 10:35:47 simonpj Exp $
-%
 %********************************************************
 %*                                                     *
 \section[CgLetNoEscape]{Handling ``let-no-escapes''}
@@ -10,6 +9,13 @@
 %********************************************************
 
 \begin{code}
+{-# 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/CodingStyle#Warnings
+-- for details
+
 module CgLetNoEscape ( cgLetNoEscapeClosure ) where
 
 #include "HsVersions.h"
@@ -19,21 +25,20 @@ import {-# SOURCE #-} CgExpr ( cgExpr )
 import StgSyn
 import CgMonad
 
-import CgBindery       ( CgIdInfo, letNoEscapeIdInfo, nukeDeadBindings )
-import CgCase          ( restoreCurrentCostCentre )
-import CgCon           ( bindUnboxedTupleComponents )
-import CgHeapery       ( unbxTupleHeapCheck )
-import CgInfoTbls      ( emitDirectReturnTarget )
-import CgStackery      ( allocStackTop, deAllocStackTop, getSpRelOffset )
-import Cmm             ( CmmStmt(..) )
-import CmmUtils                ( mkLblExpr, oneStmt )
-import CLabel          ( mkReturnInfoLabel )
-import ClosureInfo     ( mkLFLetNoEscape )
-import CostCentre       ( CostCentreStack )
-import Id              ( Id, idName )
-import Var             ( idUnique )
-import SMRep           ( retAddrSizeW )
-import BasicTypes      ( RecFlag(..) )
+import CgBindery
+import CgCase
+import CgCon
+import CgHeapery
+import CgInfoTbls
+import CgStackery
+import Cmm
+import CmmUtils
+import CLabel
+import ClosureInfo
+import CostCentre
+import Var
+import SMRep
+import BasicTypes
 \end{code}
 
 %************************************************************************
@@ -138,7 +143,6 @@ cgLetNoEscapeClosure
        :: Id                   -- binder
        -> CostCentreStack      -- NB: *** NOT USED *** ToDo (WDP 94/06)
        -> StgBinderInfo        -- NB: ditto
-       -> SRT
        -> StgLiveVars          -- variables live in RHS, including the binders
                                -- themselves in the case of a recursive group
        -> EndOfBlockInfo       -- where are we going to?
@@ -151,7 +155,7 @@ cgLetNoEscapeClosure
 -- ToDo: deal with the cost-centre issues
 
 cgLetNoEscapeClosure 
-       bndr cc binder_info srt full_live_in_rhss 
+       bndr cc binder_info full_live_in_rhss 
        rhs_eob_info cc_slot rec args body
   = let
        arity   = length args
@@ -170,7 +174,7 @@ cgLetNoEscapeClosure
 
                        -- Ignore the label that comes back from
                        -- mkRetDirectTarget.  It must be conjured up elswhere
-                   ; emitDirectReturnTarget (idName bndr) abs_c srt
+                   ; emitReturnTarget (idName bndr) abs_c
                    ; return () })
 
        ; returnFC (bndr, letNoEscapeIdInfo bndr vSp lf_info) }