X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcodeGen%2FSMRep.lhs;h=28d17079e56aa2400d0dc00a17d69098816ea102;hb=02620e7c705ac946db43e61988ca3781af3f2447;hp=a96bc889cd6e249f7841ed3032397dc9dcc9addd;hpb=17b297d97d327620ed6bfab942f8992b2446f1bf;p=ghc-hetmet.git diff --git a/compiler/codeGen/SMRep.lhs b/compiler/codeGen/SMRep.lhs index a96bc88..28d1707 100644 --- a/compiler/codeGen/SMRep.lhs +++ b/compiler/codeGen/SMRep.lhs @@ -9,11 +9,11 @@ This is here, rather than in ClosureInfo, just to keep nhc happy. Other modules should access this info through ClosureInfo. \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 SMRep ( @@ -43,7 +43,6 @@ module SMRep ( rET_SMALL, rET_BIG ) where -#include "HsVersions.h" #include "../includes/MachDeps.h" import Id @@ -53,6 +52,7 @@ import MachOp import StaticFlags import Constants import Outputable +import FastString import Data.Word \end{code} @@ -119,20 +119,22 @@ entry to the garbage collector. \begin{code} data CgRep = VoidArg -- Void - | PtrArg -- Word-sized Ptr + | PtrArg -- Word-sized heap pointer, followed + -- by the garbage collector | NonPtrArg -- Word-sized non-pointer + -- (including addresses not followed by GC) | LongArg -- 64-bit non-pointer | FloatArg -- 32-bit float | DoubleArg -- 64-bit float deriving Eq instance Outputable CgRep where - ppr VoidArg = ptext SLIT("V_") - ppr PtrArg = ptext SLIT("P_") - ppr NonPtrArg = ptext SLIT("I_") - ppr LongArg = ptext SLIT("L_") - ppr FloatArg = ptext SLIT("F_") - ppr DoubleArg = ptext SLIT("D_") + ppr VoidArg = ptext (sLit "V_") + ppr PtrArg = ptext (sLit "P_") + ppr NonPtrArg = ptext (sLit "I_") + ppr LongArg = ptext (sLit "L_") + ppr FloatArg = ptext (sLit "F_") + ppr DoubleArg = ptext (sLit "D_") argMachRep :: CgRep -> MachRep argMachRep PtrArg = wordRep