X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypes%2FTyCon.lhs;h=9aa0fe56905521090b09792872513e51ff781e9a;hb=fd7c5f3251794224e1d48d09eeffe18fd76420a2;hp=85881b695e9524a2eafba4478745722a145fa3b3;hpb=6777144f7522d8db5935737e12fa451ca3211e6d;p=ghc-hetmet.git diff --git a/compiler/types/TyCon.lhs b/compiler/types/TyCon.lhs index 85881b6..9aa0fe5 100644 --- a/compiler/types/TyCon.lhs +++ b/compiler/types/TyCon.lhs @@ -11,6 +11,7 @@ module TyCon( PrimRep(..), tyConPrimRep, + sizeofPrimRep, AlgTyConRhs(..), visibleDataCons, TyConParent(..), @@ -76,6 +77,7 @@ import PrelNames import Maybes import Outputable import FastString +import Constants \end{code} %************************************************************************ @@ -454,6 +456,18 @@ data PrimRep | AddrRep -- a pointer, but not to a Haskell value | FloatRep | DoubleRep + +-- Size of a PrimRep, in bytes +sizeofPrimRep :: PrimRep -> Int +sizeofPrimRep IntRep = wORD_SIZE +sizeofPrimRep WordRep = wORD_SIZE +sizeofPrimRep Int64Rep = wORD64_SIZE +sizeofPrimRep Word64Rep= wORD64_SIZE +sizeofPrimRep FloatRep = 4 +sizeofPrimRep DoubleRep= 8 +sizeofPrimRep AddrRep = wORD_SIZE +sizeofPrimRep PtrRep = wORD_SIZE +sizeofPrimRep VoidRep = 0 \end{code} %************************************************************************