Implement -XDeriveDataTypeable flag
authorIan Lynagh <igloo@earth.li>
Tue, 10 Jul 2007 18:01:30 +0000 (18:01 +0000)
committerIan Lynagh <igloo@earth.li>
Tue, 10 Jul 2007 18:01:30 +0000 (18:01 +0000)
compiler/main/DynFlags.hs
compiler/typecheck/TcDeriv.lhs

index b3bea06..4225678 100644 (file)
@@ -187,6 +187,7 @@ data DynFlag
    | Opt_RecordPuns
    | Opt_GADTs
    | Opt_RelaxedPolyRec                        -- -X=RelaxedPolyRec
+   | Opt_DeriveDataTypeable
    | Opt_TypeSynonymInstances
    | Opt_FlexibleContexts
    | Opt_FlexibleInstances
@@ -1167,6 +1168,7 @@ xFlags = [
   ( "UnboxedTuples",                Opt_UnboxedTuples ),
   ( "ExpressionSignaturesUnboxedTuples", Opt_ExpressionSignaturesUnboxedTuples ),
   ( "TypeSynonymUnboxedTuples",     Opt_TypeSynonymUnboxedTuples ),
+  ( "DeriveDataTypeable",           Opt_DeriveDataTypeable ),
   ( "TypeSynonymInstances",         Opt_TypeSynonymInstances ),
   ( "FlexibleContexts",             Opt_FlexibleContexts ),
   ( "FlexibleInstances",            Opt_FlexibleInstances ),
@@ -1195,6 +1197,7 @@ glasgowExtsFlags = [ Opt_GlasgowExts
            , Opt_ExpressionSignaturesUnboxedTuples
            , Opt_TypeSynonymUnboxedTuples
            , Opt_TypeSynonymInstances
+           , Opt_DeriveDataTypeable
            , Opt_FlexibleContexts
            , Opt_FlexibleInstances
            , Opt_ConstrainedClassMethods
index 71123d3..0acf31c 100644 (file)
@@ -409,7 +409,7 @@ mkEqnHelp orig tvs cls cls_tys tc_app
                
        ; (rep_tc, rep_tc_args) <- tcLookupFamInstExact tycon full_tc_args
 
-       ; mayDeriveDataTypeable <- doptM Opt_GlasgowExts
+       ; mayDeriveDataTypeable <- doptM Opt_DeriveDataTypeable
        ; newtype_deriving <- doptM Opt_GeneralizedNewtypeDeriving
        ; overlap_flag <- getOverlapFlag