X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fprelude%2FTysPrim.lhs;h=55ee249d4eb0c061964d238bcfec3f6054200e75;hp=2f6168bafb0cf1c8e1146c37d7ff58cc9816650f;hb=ee2dd59cf1c96437696b9ec39b35dd1beea259a1;hpb=24ce1351fb121d429375f411a8a95d619de921e1 diff --git a/compiler/prelude/TysPrim.lhs b/compiler/prelude/TysPrim.lhs index 2f6168b..55ee249 100644 --- a/compiler/prelude/TysPrim.lhs +++ b/compiler/prelude/TysPrim.lhs @@ -50,7 +50,8 @@ import OccName ( mkOccNameFS, tcName, mkTyVarOcc ) import TyCon ( TyCon, ArgVrcs, mkPrimTyCon, mkLiftedPrimTyCon, PrimRep(..) ) import Type ( mkTyConApp, mkTyConTy, mkTyVarTys, mkTyVarTy, - unliftedTypeKind, liftedTypeKind, openTypeKind, + unliftedTypeKind, unboxedTypeKind, + liftedTypeKind, openTypeKind, Kind, mkArrowKinds, TyThing(..) ) @@ -196,13 +197,17 @@ pcPrimTyCon name arg_vrcs rep where arity = length arg_vrcs kind = mkArrowKinds (replicate arity liftedTypeKind) result_kind - result_kind = unliftedTypeKind -- all primitive types are unlifted + result_kind = case rep of + PtrRep -> unliftedTypeKind + _other -> unboxedTypeKind pcPrimTyCon0 :: Name -> PrimRep -> TyCon pcPrimTyCon0 name rep = mkPrimTyCon name result_kind 0 [] rep where - result_kind = unliftedTypeKind -- all primitive types are unlifted + result_kind = case rep of + PtrRep -> unliftedTypeKind + _other -> unboxedTypeKind charPrimTy = mkTyConTy charPrimTyCon charPrimTyCon = pcPrimTyCon0 charPrimTyConName WordRep