X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FcoreSyn%2FMkExternalCore.lhs;h=e5f81d0a54a65e0f9b00d5226bf91b92e88175d2;hb=625ca288ad84f04f191e1aa0109bb9a08b2be473;hp=9efc76f08e3de12b3a109fced4049b9a3a10f1f2;hpb=b1ab4b8a607addc4d097588db5761313c996a41f;p=ghc-hetmet.git diff --git a/compiler/coreSyn/MkExternalCore.lhs b/compiler/coreSyn/MkExternalCore.lhs index 9efc76f..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 @@ -63,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