X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fmain%2FCmdLineOpts.lhs;h=f3c271a876ad2977b4b11dec55c53a39fa56152f;hb=89e1f4af2244dc4dbf5b3de99610d4ae8e667de2;hp=573850bcc27fd4e0cba465ce94fe8d0ac0046b41;hpb=17de8ea2c9bc3bd3485737a3514e9fa8bcaec4f7;p=ghc-hetmet.git diff --git a/ghc/compiler/main/CmdLineOpts.lhs b/ghc/compiler/main/CmdLineOpts.lhs index 573850b..f3c271a 100644 --- a/ghc/compiler/main/CmdLineOpts.lhs +++ b/ghc/compiler/main/CmdLineOpts.lhs @@ -35,6 +35,11 @@ module CmdLineOpts ( dopt_HscLang, dopt_OutName, + -- sets of warning opts + standardWarnings, + minusWOpts, + minusWallOpts, + -- profiling opts opt_AutoSccsOnAllToplevs, opt_AutoSccsOnExportedToplevs, @@ -66,9 +71,7 @@ module CmdLineOpts ( opt_SimplNoPreInlining, opt_SimplDoEtaReduction, opt_SimplDoLambdaEtaExpansion, - opt_SimplCaseOfCase, opt_SimplCaseMerge, - opt_SimplPedanticBottoms, opt_SimplExcessPrecision, -- Unfolding control @@ -279,8 +282,6 @@ data DynFlag | Opt_Generics | Opt_NoImplicitPrelude - -- misc - | Opt_ReportCompile deriving (Eq) data DynFlags = DynFlags { @@ -317,7 +318,7 @@ defaultDynFlags = DynFlags { opt_c = [], opt_a = [], opt_m = [], - flags = [] + flags = standardWarnings, } {- @@ -356,6 +357,38 @@ dopt_HscLang = hscLang %************************************************************************ %* * +\subsection{Warnings} +%* * +%************************************************************************ + +\begin{code} +standardWarnings + = [ Opt_WarnDeprecations, + Opt_WarnOverlappingPatterns, + Opt_WarnMissingFields, + Opt_WarnMissingMethods, + Opt_WarnDuplicateExports + ] + +minusWOpts + = standardWarnings ++ + [ Opt_WarnUnusedBinds, + Opt_WarnUnusedMatches, + Opt_WarnUnusedImports, + Opt_WarnIncompletePatterns + ] + +minusWallOpts + = minusWOpts ++ + [ Opt_WarnTypeDefaults, + Opt_WarnNameShadowing, + Opt_WarnMissingSigs, + Opt_WarnHiShadows + ] +\end{code} + +%************************************************************************ +%* * \subsection{Classifying command-line options} %* * %************************************************************************ @@ -476,9 +509,7 @@ opt_SimplNoPreInlining = lookUp SLIT("-fno-pre-inlining") -- get if you don't do it! opt_SimplDoEtaReduction = lookUp SLIT("-fdo-eta-reduction") opt_SimplDoLambdaEtaExpansion = lookUp SLIT("-fdo-lambda-eta-expansion") -opt_SimplCaseOfCase = lookUp SLIT("-fcase-of-case") opt_SimplCaseMerge = lookUp SLIT("-fcase-merge") -opt_SimplPedanticBottoms = lookUp SLIT("-fpedantic-bottoms") opt_SimplExcessPrecision = lookUp SLIT("-fexcess-precision") -- Unfolding control @@ -539,12 +570,9 @@ isStaticHscFlag f = "fno-pre-inlining", "fdo-eta-reduction", "fdo-lambda-eta-expansion", - "fcase-of-case", "fcase-merge", - "fpedantic-bottoms", "fexcess-precision", "funfolding-update-in-place", - "freport-compile", "fno-prune-decls", "fno-prune-tydecls", "static",