X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FDynFlags.hs;h=51abf3637081a997f1512830ec05cd593844f99a;hb=940524aec90652b5ef81789c9a453c57c0e42cc9;hp=f10d2f9ea590b46f4a8e8d751f0861259bc1f628;hpb=3c22606bf3114747deeae0a8a1d5832ee834d9d1;p=ghc-hetmet.git diff --git a/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs index f10d2f9..51abf36 100644 --- a/compiler/main/DynFlags.hs +++ b/compiler/main/DynFlags.hs @@ -17,7 +17,7 @@ module DynFlags ( -- Dynamic flags DynFlag(..), DynFlags(..), - HscTarget(..), isObjectTarget, + HscTarget(..), isObjectTarget, defaultObjectTarget, GhcMode(..), isOneShot, GhcLink(..), isNoLink, PackageFlag(..), @@ -85,10 +85,6 @@ import Util ( split ) import Data.Char ( isUpper ) import System.IO ( hPutStrLn, stderr ) -#ifdef GHCI -import Breakpoints ( BkptHandler ) -import Module ( ModuleName ) -#endif -- ----------------------------------------------------------------------------- -- DynFlags @@ -143,6 +139,7 @@ data DynFlag | Opt_WarnIsError -- -Werror; makes warnings fatal | Opt_WarnDuplicateExports | Opt_WarnHiShadows + | Opt_WarnImplicitPrelude | Opt_WarnIncompletePatterns | Opt_WarnIncompletePatternsRecUpd | Opt_WarnMissingFields @@ -152,6 +149,7 @@ data DynFlag | Opt_WarnOverlappingPatterns | Opt_WarnSimplePatterns | Opt_WarnTypeDefaults + | Opt_WarnMonomorphism | Opt_WarnUnusedBinds | Opt_WarnUnusedImports | Opt_WarnUnusedMatches @@ -195,6 +193,7 @@ data DynFlag | Opt_CaseMerge | Opt_UnboxStrictFields | Opt_DictsCheap + | Opt_RewriteRules -- misc opts | Opt_Cpp @@ -208,9 +207,6 @@ data DynFlag | Opt_SplitObjs | Opt_StgStats | Opt_HideAllPackages -#if defined(GHCI) && defined(DEBUGGER) - | Opt_Debugging -#endif | Opt_PrintBindResult | Opt_Haddock | Opt_Hpc_No_Auto @@ -321,11 +317,6 @@ data DynFlags = DynFlags { -- message output log_action :: Severity -> SrcSpan -> PprStyle -> Message -> IO () - -#ifdef GHCI - -- breakpoint handling - ,bkptHandler :: Maybe (BkptHandler Module) -#endif } data HscTarget @@ -376,7 +367,11 @@ data PackageFlag | IgnorePackage String deriving Eq -defaultHscTarget +defaultHscTarget = defaultObjectTarget + +-- | the 'HscTarget' value corresponding to the default way to create +-- object files on the current platform. +defaultObjectTarget | cGhcWithNativeCodeGen == "YES" = HscAsm | otherwise = HscC @@ -446,9 +441,6 @@ defaultDynFlags = packageFlags = [], pkgDatabase = Nothing, pkgState = panic "no package state yet: call GHC.setSessionDynFlags", -#ifdef GHCI - bkptHandler = Nothing, -#endif flags = [ Opt_ReadUserPackageConf, @@ -574,12 +566,16 @@ optLevelFlags :: [([Int], DynFlag)] optLevelFlags = [ ([0], Opt_IgnoreInterfacePragmas) , ([0], Opt_OmitInterfacePragmas) + , ([1,2], Opt_IgnoreAsserts) + , ([1,2], Opt_RewriteRules) -- Off for -O0; see Note [Scoping for Builtin rules] + -- in PrelRules , ([1,2], Opt_DoEtaReduction) , ([1,2], Opt_CaseMerge) , ([1,2], Opt_Strictness) , ([1,2], Opt_CSE) , ([1,2], Opt_FullLaziness) + , ([2], Opt_LiberateCase) , ([2], Opt_SpecConstr) @@ -1029,6 +1025,7 @@ dynamic_flags = [ fFlags = [ ( "warn-duplicate-exports", Opt_WarnDuplicateExports ), ( "warn-hi-shadowing", Opt_WarnHiShadows ), + ( "warn-implicit-prelude", Opt_WarnImplicitPrelude ), ( "warn-incomplete-patterns", Opt_WarnIncompletePatterns ), ( "warn-incomplete-record-updates", Opt_WarnIncompletePatternsRecUpd ), ( "warn-missing-fields", Opt_WarnMissingFields ), @@ -1038,6 +1035,7 @@ fFlags = [ ( "warn-overlapping-patterns", Opt_WarnOverlappingPatterns ), ( "warn-simple-patterns", Opt_WarnSimplePatterns ), ( "warn-type-defaults", Opt_WarnTypeDefaults ), + ( "warn-monomorphism-restriction", Opt_WarnMonomorphism ), ( "warn-unused-binds", Opt_WarnUnusedBinds ), ( "warn-unused-imports", Opt_WarnUnusedImports ), ( "warn-unused-matches", Opt_WarnUnusedMatches ), @@ -1079,11 +1077,9 @@ fFlags = [ ( "excess-precision", Opt_ExcessPrecision ), ( "asm-mangling", Opt_DoAsmMangling ), ( "print-bind-result", Opt_PrintBindResult ), -#if defined(GHCI) && defined(DEBUGGER) - ( "debugging", Opt_Debugging), -#endif ( "force-recomp", Opt_ForceRecomp ), - ( "hpc-no-auto", Opt_Hpc_No_Auto ) + ( "hpc-no-auto", Opt_Hpc_No_Auto ), + ( "rewrite-rules", Opt_RewriteRules ) ]