Don't import FastString in HsVersions.h
[ghc-hetmet.git] / compiler / codeGen / SMRep.lhs
index 6c57a4e..1845c44 100644 (file)
@@ -9,6 +9,13 @@ This is here, rather than in ClosureInfo, just to keep nhc happy.
 Other modules should access this info through ClosureInfo.
 
 \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/Commentary/CodingStyle#Warnings
+-- for details
+
 module SMRep (
        -- Words and bytes
        StgWord, StgHalfWord, 
@@ -46,6 +53,7 @@ import MachOp
 import StaticFlags
 import Constants
 import Outputable
+import FastString
 
 import Data.Word
 \end{code}
@@ -112,8 +120,10 @@ 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
@@ -304,7 +314,7 @@ smRepClosureType :: SMRep -> Maybe ClosureType
 smRepClosureType (GenericRep _ _ _ ty) = Just ty
 smRepClosureType BlackHoleRep         = Nothing
 
-smRepClosureTypeInt :: SMRep -> Int
+smRepClosureTypeInt :: SMRep -> StgHalfWord
 smRepClosureTypeInt (GenericRep False 1 0 Constr) = CONSTR_1_0
 smRepClosureTypeInt (GenericRep False 0 1 Constr) = CONSTR_0_1
 smRepClosureTypeInt (GenericRep False 2 0 Constr) = CONSTR_2_0
@@ -339,7 +349,7 @@ smRepClosureTypeInt rep = panic "smRepClosuretypeint"
 
 
 -- We export these ones
-rET_SMALL     = (RET_SMALL     :: Int)
-rET_BIG       = (RET_BIG       :: Int)
+rET_SMALL     = (RET_SMALL     :: StgHalfWord)
+rET_BIG       = (RET_BIG       :: StgHalfWord)
 \end{code}