[project @ 1998-08-14 12:08:25 by sof]
[ghc-hetmet.git] / ghc / compiler / codeGen / CgConTbls.lhs
index e13d043..801ad82 100644 (file)
@@ -4,20 +4,17 @@
 \section[CgConTbls]{Info tables and update bits for constructors}
 
 \begin{code}
-#include "HsVersions.h"
-
 module CgConTbls ( genStaticConBits ) where
 
-IMP_Ubiq(){-uitous-}
+#include "HsVersions.h"
 
 import AbsCSyn
 import CgMonad
 
 import AbsCUtils       ( mkAbsCStmts, mkAbstractCs, magicIdPrimRep )
-import CgCompInfo      ( uF_UPDATEE )
+import Constants       ( uF_UPDATEE )
 import CgHeapery       ( heapCheck, allocDynClosure )
-import CgRetConv       ( mkLiveRegsMask,
-                         dataReturnConvAlg, ctrlReturnConvAlg,
+import CgRetConv       ( dataReturnConvAlg, ctrlReturnConvAlg,
                          CtrlReturnConvention(..),
                          DataReturnConvention(..)
                        )
@@ -30,21 +27,21 @@ import CLabel               ( mkConEntryLabel, mkStaticClosureLabel,
 import ClosureInfo     ( layOutStaticClosure, layOutDynCon,
                          layOutPhantomClosure, closurePtrsSize,
                          fitsMinUpdSize, mkConLFInfo,
-                         infoTableLabelFromCI, dataConLiveness
+                         infoTableLabelFromCI, dataConLiveness,
+                         ClosureInfo
                        )
-import CostCentre      ( dontCareCostCentre )
-import FiniteMap       ( fmToList )
-import HeapOffs                ( zeroOff, SYN_IE(VirtualHeapOffset) )
+import CostCentre      ( dontCareCostCentre, CostCentre )
+import FiniteMap       ( fmToList, FiniteMap )
+import HeapOffs                ( zeroOff, VirtualHeapOffset )
 import Id              ( dataConTag, dataConRawArgTys,
                          dataConNumFields, fIRST_TAG,
                          emptyIdSet,
-                         GenId{-instance NamedThing-}
+                         GenId{-instance NamedThing-}, Id
                        )
-import Name            ( nameOf, origName )
-import PrelInfo                ( maybeIntLikeTyCon )
+import Name            ( getOccString )
 import PrimRep         ( getPrimRepSize, PrimRep(..) )
-import TyCon           ( tyConDataCons, mkSpecTyCon )
-import Type            ( typePrimRep )
+import TyCon           ( tyConDataCons, mkSpecTyCon, TyCon )
+import Type            ( typePrimRep, Type )
 import Util            ( panic )
 
 mkSameSpecCon = panic "CgConTbls.mkSameSpecCon (ToDo)"
@@ -209,7 +206,7 @@ genConInfo comp_info tycon data_con
                      body_code))
 
     entry_addr = CLbl entry_label CodePtrRep
-    con_descr  = _UNPK_ (nameOf (origName "con_descr" data_con))
+    con_descr  = getOccString data_con
 
     closure_code        = CClosureInfoAndCode closure_info body Nothing
                                              stdUpd con_descr
@@ -336,7 +333,7 @@ genPhantomUpdInfo comp_info tycon data_con
 
            phantom_ci = layOutPhantomClosure data_con (mkConLFInfo data_con)
 
-           con_descr = _UNPK_ (nameOf (origName "con_descr2" data_con))
+           con_descr = getOccString data_con
 
            con_arity = dataConNumFields data_con