From: Ian Lynagh Date: Sun, 8 Jul 2007 11:29:07 +0000 (+0000) Subject: Add -XEmptyDataDecls flag X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=f4e4060721bdbeee81d5e9fd3c8d909ece6195df Add -XEmptyDataDecls flag --- diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index e0aca33..1d19f8e 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -184,6 +184,7 @@ data DynFlag | Opt_GADTs | Opt_RelaxedPolyRec -- -X=RelaxedPolyRec | Opt_MagicHash + | Opt_EmptyDataDecls -- optimisation opts | Opt_Strictness @@ -1094,6 +1095,7 @@ fFlags = [ xFlags :: [(String, DynFlag)] xFlags = [ ( "MagicHash", Opt_MagicHash ), + ( "EmptyDataDecls", Opt_EmptyDataDecls ), ( "FI", Opt_FFI ), -- support `-ffi'... ( "FFI", Opt_FFI ), -- ...and also `-fffi' ( "ForeignFunctionInterface", Opt_FFI ), @@ -1138,6 +1140,7 @@ glasgowExtsFlags = [ Opt_GlasgowExts , Opt_ImplicitParams , Opt_ScopedTypeVariables , Opt_MagicHash + , Opt_EmptyDataDecls , Opt_TypeFamilies ] ------------------ diff --git a/compiler/typecheck/TcTyClsDecls.lhs b/compiler/typecheck/TcTyClsDecls.lhs index 3d2e4ba..9c4b5b2 100644 --- a/compiler/typecheck/TcTyClsDecls.lhs +++ b/compiler/typecheck/TcTyClsDecls.lhs @@ -694,6 +694,7 @@ tcTyClDecl1 calc_isrec ; want_generic <- doptM Opt_Generics ; unbox_strict <- doptM Opt_UnboxStrictFields ; gla_exts <- doptM Opt_GlasgowExts + ; empty_data_decls <- doptM Opt_EmptyDataDecls ; gadt_ok <- doptM Opt_GADTs ; is_boot <- tcIsHsBoot -- Are we compiling an hs-boot file? @@ -707,8 +708,8 @@ tcTyClDecl1 calc_isrec ; checkTc (null stupid_theta || h98_syntax) (badStupidTheta tc_name) -- Check that there's at least one condecl, - -- or else we're reading an hs-boot file, or -fglasgow-exts - ; checkTc (not (null cons) || gla_exts || is_boot) + -- or else we're reading an hs-boot file, or -XEmptyDataDecls + ; checkTc (not (null cons) || empty_data_decls || is_boot) (emptyConDeclsErr tc_name) -- Check that a newtype has exactly one constructor @@ -1250,5 +1251,5 @@ tyFamAppInIndexErr ty emptyConDeclsErr tycon = sep [quotes (ppr tycon) <+> ptext SLIT("has no constructors"), - nest 2 $ ptext SLIT("(-fglasgow-exts permits this)")] + nest 2 $ ptext SLIT("(-XEmptyDataDecls permits this)")] \end{code}