Nuke {save,restore}StaticFlagGlobals.
authorAustin Seipp <austin@well-typed.com>
Wed, 9 Oct 2013 15:47:06 +0000 (10:47 -0500)
committerAustin Seipp <austin@well-typed.com>
Wed, 9 Oct 2013 15:47:38 +0000 (10:47 -0500)
commit16c401137a0d2aa803a5806493889056538c2de4
treec0653fe7601acc69a37f9906ae9df79b6eb0c5b3
parent99cf45942a395e116394712c529b05744d0b136b
Nuke {save,restore}StaticFlagGlobals.

As discussed in #8276, this code was somewhat broken because while you
could always revert the actual argument list, you can never revert the
CAFs upon which they are based - so really this didn't buy you much.

However, Haddock in particular expects to be able to parse GHC flags,
including static flags, and used this code to do so. In its place, we
instead have discardStaticFlags, which will safely remove any of the
remaining 5 flags from a list of arguments. Haddock instead discards
these, as they aren't related to anything it does anyway (mostly
controlling debugging output and some basic optimizer phases.)

This fixes #8276. In the future, we will eventually completely remove
the remaining StaticFlags, removing the need for this fix. Unfortunately
these changes will be quite invasive and require more time.

Signed-off-by: Austin Seipp <austin@well-typed.com>
compiler/main/StaticFlags.hs
compiler/simplCore/CoreMonad.lhs