ghc: allow --show-options and --interactive together
authorLennart Kolmodin <kolmodin@gmail.com>
Fri, 21 Nov 2014 21:31:54 +0000 (15:31 -0600)
committerAustin Seipp <austin@well-typed.com>
Fri, 21 Nov 2014 23:04:57 +0000 (17:04 -0600)
commit624a7c5a2eee0c0ba486a45550680052c2c79849
treee48ccb390a642b824f66e1c0f13e4fbfcb4def8f
parent02f8f6ad7bd3d792459a1d33e8d0d57dcf1ea424
ghc: allow --show-options and --interactive together

Summary:
Previously 'ghc --show-options' showed all options that GHC can possibly
accept. With this patch, it'll only show the options that have effect in
non-interactive modes.
This change also adds support for using 'ghc --interactive --show-options'
which previously was disallowed. This command will show all options that have
effect in the interactive mode.
The CmdLineParser is updated to know about the GHC modes, and then each flag
is annotated with which mode it has effect.
This fixes #9259.

Test Plan:
Try out --show-options with --interactive on the command line. With and without
--interactive should give different results.
Run the test suite, mode001 has been updated to verify this new flag
combination.

Reviewers: austin, jstolarek

Reviewed By: austin, jstolarek

Subscribers: jstolarek, thomie, carter, simonmar

Differential Revision: https://phabricator.haskell.org/D337

GHC Trac Issues: #9259
compiler/main/CmdLineParser.hs
compiler/main/DynFlags.hs
compiler/main/StaticFlags.hs
compiler/typecheck/TcDeriv.lhs
docs/users_guide/flags.xml
docs/users_guide/using.xml
ghc/InteractiveUI.hs
ghc/Main.hs
testsuite/tests/driver/Makefile
testsuite/tests/driver/T4437.hs
testsuite/tests/driver/mode001.stdout