X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcoreSyn%2FMkExternalCore.lhs;h=e5f81d0a54a65e0f9b00d5226bf91b92e88175d2;hb=bc845b714132a897032502536fea8cd018ce325b;hp=de907cf214347c63d712fb3bbd9e0f54b4bbf4d8;hpb=de777ba42eb12b6a20e548a959b23b60179d9b57;p=ghc-hetmet.git diff --git a/compiler/coreSyn/MkExternalCore.lhs b/compiler/coreSyn/MkExternalCore.lhs index de907cf..e5f81d0 100644 --- a/compiler/coreSyn/MkExternalCore.lhs +++ b/compiler/coreSyn/MkExternalCore.lhs @@ -2,6 +2,12 @@ % (c) The University of Glasgow 2001-2006 % \begin{code} +{-# OPTIONS -w #-} +-- The above warning supression flag is a temporary kludge. +-- While working on this module you are encouraged to remove it and fix +-- any warnings in the module. See +-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings +-- for details module MkExternalCore ( emitExternalCore @@ -10,16 +16,14 @@ module MkExternalCore ( #include "HsVersions.h" import qualified ExternalCore as C -import Char import Module import CoreSyn import HscTypes import TyCon import TypeRep import Type -import PprExternalCore -- Instances +import PprExternalCore () -- Instances import DataCon -import CoreSyn import Coercion import Var import IdInfo @@ -65,13 +69,11 @@ collect_tdefs tcon tdefs where tdef | isNewTyCon tcon = C.Newtype (make_con_qid (tyConName tcon)) (map make_tbind tyvars) repclause --- 20060420 GHC handles empty data types just fine. ExtCore should too! jds --- | 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 || isOpenTyCon tcon= Nothing - | otherwise = Just (make_ty rep) - where (_, rep) = newTyConRep tcon + | otherwise = Just (make_ty (repType rhs)) + where (_, rhs) = newTyConRhs tcon tyvars = tyConTyVars tcon collect_tdefs _ tdefs = tdefs