X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcoreSyn%2FMkExternalCore.lhs;h=467cff5baa78a40a618c80cf38f166d2dddaf3b5;hb=22b39e40ba469e0ab46dd248ef5aaf46f8327940;hp=e7d79e616270742fb5cec8881557b1defd3bf39a;hpb=0b86bc9b022a5965d2b35f143ff4b919f784e676;p=ghc-hetmet.git diff --git a/compiler/coreSyn/MkExternalCore.lhs b/compiler/coreSyn/MkExternalCore.lhs index e7d79e6..467cff5 100644 --- a/compiler/coreSyn/MkExternalCore.lhs +++ b/compiler/coreSyn/MkExternalCore.lhs @@ -1,5 +1,5 @@ -% (c) The University of Glasgow 2001 +% (c) The University of Glasgow 2001-2006 % \begin{code} @@ -18,19 +18,18 @@ import TyCon import TypeRep import Type import PprExternalCore -- Instances -import DataCon ( DataCon, dataConExTyVars, dataConRepArgTys, - dataConName, dataConTyCon ) +import DataCon import CoreSyn import Var import IdInfo import Literal import Name -import NameSet ( NameSet, emptyNameSet ) -import UniqSet ( elementOfUniqSet ) +import NameSet +import UniqSet import Outputable import ForeignCall -import DynFlags ( DynFlags(..) ) -import StaticFlags ( opt_EmitExternalCore ) +import DynFlags +import StaticFlags import IO import FastString @@ -69,7 +68,7 @@ collect_tdefs tcon tdefs -- | null (tyConDataCons tcon) = error "MkExternalCore died: can't handle datatype declarations with no data constructors" | otherwise = C.Data (make_con_qid (tyConName tcon)) (map make_tbind tyvars) (map make_cdef (tyConDataCons tcon)) - where repclause | isRecursiveTyCon tcon = Nothing + where repclause | isRecursiveTyCon tcon || isOpenTyCon tcon= Nothing | otherwise = Just (make_ty rep) where (_, rep) = newTyConRep tcon tyvars = tyConTyVars tcon