Tidy up -keep* flags
[ghc-hetmet.git] / compiler / main / DynFlags.hs
index 7f3c491..063f102 100644 (file)
@@ -178,7 +178,7 @@ data DynFlag
    | Opt_TypeFamilies
    | Opt_OverloadedStrings
    | Opt_DisambiguateRecordFields
-   | Opt_RecordDotDot
+   | Opt_RecordWildCards
    | Opt_RecordPuns
    | Opt_GADTs
    | Opt_RelaxedPolyRec                        -- -X=RelaxedPolyRec
@@ -898,10 +898,15 @@ dynamic_flags = [
   ,  ( "stubdir"       , HasArg (upd . setStubDir . Just))
 
        ------- Keeping temporary files -------------------------------------
-  ,  ( "keep-hc-file"   , AnySuffix (\_ -> setDynFlag Opt_KeepHcFiles))
-  ,  ( "keep-s-file"    , AnySuffix (\_ -> setDynFlag Opt_KeepSFiles))
-  ,  ( "keep-raw-s-file", AnySuffix (\_ -> setDynFlag Opt_KeepRawSFiles))
-  ,  ( "keep-tmp-files" , AnySuffix (\_ -> setDynFlag Opt_KeepTmpFiles))
+     -- These can be singular (think ghc -c) or plural (think ghc --make)
+  ,  ( "keep-hc-file"    , NoArg (setDynFlag Opt_KeepHcFiles))
+  ,  ( "keep-hc-files"   , NoArg (setDynFlag Opt_KeepHcFiles))
+  ,  ( "keep-s-file"     , NoArg (setDynFlag Opt_KeepSFiles))
+  ,  ( "keep-s-files"    , NoArg (setDynFlag Opt_KeepSFiles))
+  ,  ( "keep-raw-s-file" , NoArg (setDynFlag Opt_KeepRawSFiles))
+  ,  ( "keep-raw-s-files", NoArg (setDynFlag Opt_KeepRawSFiles))
+     -- This only makes sense as plural
+  ,  ( "keep-tmp-files"  , NoArg (setDynFlag Opt_KeepTmpFiles))
 
        ------- Miscellaneous ----------------------------------------------
   ,  ( "no-hs-main"     , NoArg (setDynFlag Opt_NoHsMain))
@@ -1100,6 +1105,10 @@ xFlags = [
 
   ( "ImplicitPrelude",                 Opt_ImplicitPrelude ),  -- On by default
 
+  ( "RecordWildCards",                 Opt_RecordWildCards ),
+  ( "RecordPuns",                      Opt_RecordPuns ),
+  ( "DisambiguateRecordFields",                Opt_DisambiguateRecordFields ),
+
   ( "OverloadedStrings",               Opt_OverloadedStrings ),
   ( "GADTs",                           Opt_GADTs ),
   ( "TypeFamilies",                    Opt_TypeFamilies ),