- , ( "package-conf" , HasArg extraPkgConf_ )
- , ( "no-user-package-conf", NoArg (unSetDynFlag Opt_ReadUserPackageConf) )
- , ( "package-name" , HasArg (upd . setPackageName) )
- , ( "package" , HasArg exposePackage )
- , ( "hide-package" , HasArg hidePackage )
- , ( "hide-all-packages", NoArg (setDynFlag Opt_HideAllPackages) )
- , ( "ignore-package" , HasArg ignorePackage )
- , ( "syslib" , HasArg exposePackage ) -- for compatibility
-
- ------ HsCpp opts ---------------------------------------------------
- , ( "D", AnySuffix (upd . addOptP) )
- , ( "U", AnySuffix (upd . addOptP) )
-
- ------- Include/Import Paths ----------------------------------------
- , ( "I" , Prefix addIncludePath)
- , ( "i" , OptPrefix addImportPath )
-
- ------ Debugging ----------------------------------------------------
- , ( "dstg-stats", NoArg (setDynFlag Opt_StgStats))
-
- , ( "ddump-cmm", setDumpFlag Opt_D_dump_cmm)
- , ( "ddump-cmmz", setDumpFlag Opt_D_dump_cmmz)
- , ( "ddump-cmmz-pretty", setDumpFlag Opt_D_dump_cmmz_pretty)
- , ( "ddump-cps-cmm", setDumpFlag Opt_D_dump_cps_cmm)
- , ( "ddump-cvt-cmm", setDumpFlag Opt_D_dump_cvt_cmm)
- , ( "ddump-asm", setDumpFlag Opt_D_dump_asm)
- , ( "ddump-asm-native", setDumpFlag Opt_D_dump_asm_native)
- , ( "ddump-asm-liveness", setDumpFlag Opt_D_dump_asm_liveness)
- , ( "ddump-asm-coalesce", setDumpFlag Opt_D_dump_asm_coalesce)
- , ( "ddump-asm-regalloc", setDumpFlag Opt_D_dump_asm_regalloc)
- , ( "ddump-asm-conflicts", setDumpFlag Opt_D_dump_asm_conflicts)
- , ( "ddump-asm-regalloc-stages",
- setDumpFlag Opt_D_dump_asm_regalloc_stages)
- , ( "ddump-asm-stats", setDumpFlag Opt_D_dump_asm_stats)
- , ( "ddump-cpranal", setDumpFlag Opt_D_dump_cpranal)
- , ( "ddump-deriv", setDumpFlag Opt_D_dump_deriv)
- , ( "ddump-ds", setDumpFlag Opt_D_dump_ds)
- , ( "ddump-flatC", setDumpFlag Opt_D_dump_flatC)
- , ( "ddump-foreign", setDumpFlag Opt_D_dump_foreign)
- , ( "ddump-inlinings", setDumpFlag Opt_D_dump_inlinings)
- , ( "ddump-rule-firings", setDumpFlag Opt_D_dump_rule_firings)
- , ( "ddump-occur-anal", setDumpFlag Opt_D_dump_occur_anal)
- , ( "ddump-parsed", setDumpFlag Opt_D_dump_parsed)
- , ( "ddump-rn", setDumpFlag Opt_D_dump_rn)
- , ( "ddump-simpl", setDumpFlag Opt_D_dump_simpl)
- , ( "ddump-simpl-iterations", setDumpFlag Opt_D_dump_simpl_iterations)
- , ( "ddump-simpl-phases", OptPrefix setDumpSimplPhases)
- , ( "ddump-spec", setDumpFlag Opt_D_dump_spec)
- , ( "ddump-prep", setDumpFlag Opt_D_dump_prep)
- , ( "ddump-stg", setDumpFlag Opt_D_dump_stg)
- , ( "ddump-stranal", setDumpFlag Opt_D_dump_stranal)
- , ( "ddump-tc", setDumpFlag Opt_D_dump_tc)
- , ( "ddump-types", setDumpFlag Opt_D_dump_types)
- , ( "ddump-rules", setDumpFlag Opt_D_dump_rules)
- , ( "ddump-cse", setDumpFlag Opt_D_dump_cse)
- , ( "ddump-worker-wrapper", setDumpFlag Opt_D_dump_worker_wrapper)
- , ( "ddump-rn-trace", setDumpFlag Opt_D_dump_rn_trace)
- , ( "ddump-if-trace", setDumpFlag Opt_D_dump_if_trace)
- , ( "ddump-tc-trace", setDumpFlag Opt_D_dump_tc_trace)
- , ( "ddump-splices", setDumpFlag Opt_D_dump_splices)
- , ( "ddump-rn-stats", setDumpFlag Opt_D_dump_rn_stats)
- , ( "ddump-opt-cmm", setDumpFlag Opt_D_dump_opt_cmm)
- , ( "ddump-simpl-stats", setDumpFlag Opt_D_dump_simpl_stats)
- , ( "ddump-bcos", setDumpFlag Opt_D_dump_BCOs)
- , ( "dsource-stats", setDumpFlag Opt_D_source_stats)
- , ( "dverbose-core2core", NoArg setVerboseCore2Core)
- , ( "dverbose-stg2stg", setDumpFlag Opt_D_verbose_stg2stg)
- , ( "ddump-hi", setDumpFlag Opt_D_dump_hi)
- , ( "ddump-minimal-imports", setDumpFlag Opt_D_dump_minimal_imports)
- , ( "ddump-vect", setDumpFlag Opt_D_dump_vect)
- , ( "ddump-hpc", setDumpFlag Opt_D_dump_hpc)
- , ( "ddump-mod-cycles", setDumpFlag Opt_D_dump_mod_cycles)
- , ( "ddump-view-pattern-commoning", setDumpFlag Opt_D_dump_view_pattern_commoning)
- , ( "ddump-to-file", setDumpFlag Opt_DumpToFile)
- , ( "ddump-hi-diffs", NoArg (setDynFlag Opt_D_dump_hi_diffs))
- , ( "dcore-lint", NoArg (setDynFlag Opt_DoCoreLinting))
- , ( "dstg-lint", NoArg (setDynFlag Opt_DoStgLinting))
- , ( "dcmm-lint", NoArg (setDynFlag Opt_DoCmmLinting))
- , ( "dasm-lint", NoArg (setDynFlag Opt_DoAsmLinting))
- , ( "dshow-passes", NoArg (do setDynFlag Opt_ForceRecomp
- setVerbosity (Just 2)) )
- , ( "dfaststring-stats", NoArg (setDynFlag Opt_D_faststring_stats))
-
- ------ Machine dependant (-m<blah>) stuff ---------------------------
-
- , ( "monly-2-regs", NoArg (upd (\s -> s{stolen_x86_regs = 2}) ))
- , ( "monly-3-regs", NoArg (upd (\s -> s{stolen_x86_regs = 3}) ))
- , ( "monly-4-regs", NoArg (upd (\s -> s{stolen_x86_regs = 4}) ))
-
- ------ Warning opts -------------------------------------------------
- , ( "W" , NoArg (mapM_ setDynFlag minusWOpts) )
- , ( "Werror", NoArg (setDynFlag Opt_WarnIsError) )
- , ( "Wwarn" , NoArg (unSetDynFlag Opt_WarnIsError) )
- , ( "Wall" , NoArg (mapM_ setDynFlag minusWallOpts) )
- , ( "Wnot" , NoArg (mapM_ unSetDynFlag minusWallOpts) ) -- DEPRECATED
- , ( "w" , NoArg (mapM_ unSetDynFlag minuswRemovesOpts) )
-
- ------ Optimisation flags ------------------------------------------
- , ( "O" , NoArg (upd (setOptLevel 1)))
- , ( "Onot" , NoArg (upd (setOptLevel 0))) -- deprecated
- , ( "O" , OptIntSuffix (\mb_n -> upd (setOptLevel (mb_n `orElse` 1))))
- -- If the number is missing, use 1
-
- , ( "fsimplifier-phases", IntSuffix (\n ->
- upd (\dfs -> dfs{ simplPhases = n })) )
- , ( "fmax-simplifier-iterations", IntSuffix (\n ->
- upd (\dfs -> dfs{ maxSimplIterations = n })) )
-
- , ( "fspec-constr-threshold", IntSuffix (\n ->
- upd (\dfs -> dfs{ specConstrThreshold = Just n })))
- , ( "fno-spec-constr-threshold", NoArg (
- upd (\dfs -> dfs{ specConstrThreshold = Nothing })))
- , ( "fspec-constr-count", IntSuffix (\n ->
- upd (\dfs -> dfs{ specConstrCount = Just n })))
- , ( "fno-spec-constr-count", NoArg (
- upd (\dfs -> dfs{ specConstrCount = Nothing })))
- , ( "fliberate-case-threshold", IntSuffix (\n ->
- upd (\dfs -> dfs{ liberateCaseThreshold = Just n })))
- , ( "fno-liberate-case-threshold", NoArg (
- upd (\dfs -> dfs{ liberateCaseThreshold = Nothing })))
-
- , ( "frule-check", SepArg (\s -> upd (\dfs -> dfs{ ruleCheck = Just s })))
- , ( "fcontext-stack" , IntSuffix $ \n -> upd $ \dfs -> dfs{ ctxtStkDepth = n })