Fix Trac #3966: warn about useless UNPACK pragmas
[ghc-hetmet.git] / compiler / iface / BuildTyCl.lhs
index 54adfdf..738a5e3 100644 (file)
@@ -121,7 +121,12 @@ mkDataTyConRhs cons
   = DataTyCon {
         data_cons = cons,
         is_enum = -- We define datatypes with no constructors to not be
-                  -- enumerations; this fixes trac #2578
+                  -- enumerations; this fixes trac #2578,  Otherwise we
+                  -- end up generating an empty table for
+                  --   <mod>_<type>_closure_tbl
+                  -- which is used by tagToEnum# to map Int# to constructors
+                  -- in an enumeration. The empty table apparently upset
+                  -- the linker.
                   not (null cons) &&
                   all isNullarySrcDataCon cons
     }
@@ -186,7 +191,7 @@ setAssocFamilyPermutation _clas_tvs other
 
 ------------------------------------------------------
 buildDataCon :: Name -> Bool
-           -> [StrictnessMark] 
+           -> [HsBang] 
            -> [Name]                   -- Field labels
            -> [TyVar] -> [TyVar]       -- Univ and ext 
             -> [(TyVar,Type)]           -- Equality spec
@@ -301,7 +306,7 @@ buildClass no_unf class_name tvs sc_theta fds ats sig_stuff tc_isrec
 
        ; dict_con <- buildDataCon datacon_name
                                   False        -- Not declared infix
-                                  (map (const NotMarkedStrict) args)
+                                  (map (const HsNoBang) args)
                                   [{- No fields -}]
                                   tvs [{- no existentials -}]
                                    [{- No GADT equalities -}] [{- No theta -}]