Fix warnings in CgStackery
[ghc-hetmet.git] / compiler / codeGen / CgBindery.lhs
index 0d76f82..1928308 100644 (file)
@@ -5,11 +5,11 @@
 \section[CgBindery]{Utility functions related to doing @CgBindings@}
 
 \begin{code}
-{-# OPTIONS_GHC -w #-}
+{-# 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/WorkingConventions#Warnings
+--     http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
 -- for details
 
 module CgBindery (
@@ -38,8 +38,6 @@ module CgBindery (
        maybeLetNoEscape, 
     ) where
 
-#include "HsVersions.h"
-
 import CgMonad
 import CgHeapery
 import CgStackery
@@ -62,6 +60,7 @@ import StgSyn
 import Unique
 import UniqSet
 import Outputable
+import FastString
 
 \end{code}
 
@@ -154,20 +153,20 @@ data StableLoc
 \begin{code}
 instance Outputable CgIdInfo where
   ppr (CgIdInfo id rep vol stb lf _) -- TODO, pretty pring the tag info
-    = ppr id <+> ptext SLIT("-->") <+> vcat [ppr vol, ppr stb]
+    = ppr id <+> ptext (sLit "-->") <+> vcat [ppr vol, ppr stb]
 
 instance Outputable VolatileLoc where
   ppr NoVolatileLoc = empty
-  ppr (RegLoc r)     = ptext SLIT("reg") <+> ppr r
-  ppr (VirHpLoc v)   = ptext SLIT("vh")  <+> ppr v
-  ppr (VirNodeLoc v) = ptext SLIT("vn")  <+> ppr v
+  ppr (RegLoc r)     = ptext (sLit "reg") <+> ppr r
+  ppr (VirHpLoc v)   = ptext (sLit "vh")  <+> ppr v
+  ppr (VirNodeLoc v) = ptext (sLit "vn")  <+> ppr v
 
 instance Outputable StableLoc where
   ppr NoStableLoc   = empty
-  ppr VoidLoc       = ptext SLIT("void")
-  ppr (VirStkLoc v) = ptext SLIT("vs")    <+> ppr v
-  ppr (VirStkLNE v) = ptext SLIT("lne")    <+> ppr v
-  ppr (StableLoc a) = ptext SLIT("amode") <+> ppr a
+  ppr VoidLoc       = ptext (sLit "void")
+  ppr (VirStkLoc v) = ptext (sLit "vs")    <+> ppr v
+  ppr (VirStkLNE v) = ptext (sLit "lne")    <+> ppr v
+  ppr (StableLoc a) = ptext (sLit "amode") <+> ppr a
 \end{code}
 
 %************************************************************************
@@ -287,7 +286,7 @@ getCgIdInfo id
            name = idName id
        in
        if isExternalName name then do
-           let ext_lbl = CmmLit (CmmLabel (mkClosureLabel name))
+           let ext_lbl = CmmLit (CmmLabel (mkClosureLabel name $ idCafInfo id))
            return (stableIdInfo id ext_lbl (mkLFImported id))
        else
        if isVoidArg (idCgRep id) then
@@ -306,11 +305,11 @@ cgLookupPanic id
        srt <- getSRTLabel
        pprPanic "cgPanic"
                (vcat [ppr id,
-               ptext SLIT("static binds for:"),
+               ptext (sLit "static binds for:"),
                vcat [ ppr (cg_id info) | info <- varEnvElts static_binds ],
-               ptext SLIT("local binds for:"),
+               ptext (sLit "local binds for:"),
                vcat [ ppr (cg_id info) | info <- varEnvElts local_binds ],
-               ptext SLIT("SRT label") <+> pprCLabel srt
+               ptext (sLit "SRT label") <+> pprCLabel srt
              ])
 \end{code}
 
@@ -448,10 +447,7 @@ bindNewToTemp id
        return temp_reg
   where
     uniq     = getUnique id
-    temp_reg = LocalReg uniq (argMachRep (idCgRep id)) kind
-    kind     = if isFollowableArg (idCgRep id)
-               then KindPtr
-               else KindNonPtr
+    temp_reg = LocalReg uniq (argMachRep (idCgRep id))
     lf_info  = mkLFArgument id -- Always used of things we
                                -- know nothing about