X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FStaticFlags.hs;h=e03d6810ca4afd50fc67597b9cea21d281698a5d;hb=38113ad2138652700dc4461cd2d7ab073f9716ac;hp=5a43eb663259f9a0a94cbb07efcd9418cfa4c59b;hpb=fb9d21af24d076b12abb9e22251aa327f82e8ea8;p=ghc-hetmet.git diff --git a/compiler/main/StaticFlags.hs b/compiler/main/StaticFlags.hs index 5a43eb6..e03d681 100644 --- a/compiler/main/StaticFlags.hs +++ b/compiler/main/StaticFlags.hs @@ -21,11 +21,19 @@ module StaticFlags ( -- Output style options opt_PprUserLength, + opt_PprCols, + opt_PprCaseAsLet, + opt_PprStyle_Debug, opt_TraceLevel, + opt_NoDebugOutput, + + -- Suppressing boring aspects of core dumps + opt_SuppressAll, opt_SuppressUniques, opt_SuppressCoercions, opt_SuppressModulePrefixes, - opt_PprStyle_Debug, opt_TraceLevel, - opt_NoDebugOutput, + opt_SuppressTypeApplications, + opt_SuppressIdInfo, + opt_SuppressTypeSignatures, -- profiling opts opt_SccProfilingOn, @@ -181,15 +189,57 @@ unpacked_opts = opt_IgnoreDotGhci :: Bool opt_IgnoreDotGhci = lookUp (fsLit "-ignore-dot-ghci") --- debugging opts +-- debugging options +-- | Suppress all that is suppressable in core dumps. +opt_SuppressAll :: Bool +opt_SuppressAll + = lookUp (fsLit "-dsuppress-all") + +-- | Suppress unique ids on variables. opt_SuppressUniques :: Bool -opt_SuppressUniques = lookUp (fsLit "-dsuppress-uniques") +opt_SuppressUniques + = lookUp (fsLit "-dsuppress-all") + || lookUp (fsLit "-dsuppress-uniques") +-- | Suppress all coercions, them replacing with '...' opt_SuppressCoercions :: Bool -opt_SuppressCoercions = lookUp (fsLit "-dsuppress-coercions") +opt_SuppressCoercions + = lookUp (fsLit "-dsuppress-all") + || lookUp (fsLit "-dsuppress-coercions") +-- | Suppress module id prefixes on variables. opt_SuppressModulePrefixes :: Bool -opt_SuppressModulePrefixes = lookUp (fsLit "-dsuppress-module-prefixes") +opt_SuppressModulePrefixes + = lookUp (fsLit "-dsuppress-all") + || lookUp (fsLit "-dsuppress-module-prefixes") + +-- | Suppress type applications. +opt_SuppressTypeApplications :: Bool +opt_SuppressTypeApplications + = lookUp (fsLit "-dsuppress-all") + || lookUp (fsLit "-dsuppress-type-applications") + +-- | Suppress info such as arity and unfoldings on identifiers. +opt_SuppressIdInfo :: Bool +opt_SuppressIdInfo + = lookUp (fsLit "-dsuppress-all") + || lookUp (fsLit "-dsuppress-idinfo") + +-- | Suppress seprate type signatures in core, but leave types on lambda bound vars +opt_SuppressTypeSignatures :: Bool +opt_SuppressTypeSignatures + = lookUp (fsLit "-dsuppress-all") + || lookUp (fsLit "-dsuppress-type-signatures") + + +-- | Display case expressions with a single alternative as strict let bindings +opt_PprCaseAsLet :: Bool +opt_PprCaseAsLet = lookUp (fsLit "-dppr-case-as-let") + +-- | Set the maximum width of the dumps +opt_PprCols :: Int +opt_PprCols = lookup_def_int "-dppr-cols" 100 + opt_PprStyle_Debug :: Bool opt_PprStyle_Debug = lookUp (fsLit "-dppr-debug")