[project @ 2001-07-11 19:48:07 by sof]
authorsof <unknown>
Wed, 11 Jul 2001 19:48:07 +0000 (19:48 +0000)
committersof <unknown>
Wed, 11 Jul 2001 19:48:07 +0000 (19:48 +0000)
commit17629712b35948e3751a39747dcc9ee0cbfb72aa
tree520d763891f2e339d4a9ae41028b3a531083becd
parentb2c6dceb87bac7d7f80bd75dca43ccaa5c9369ad
[project @ 2001-07-11 19:48:07 by sof]
Prev commit which tried to get rid of the 'ineffective CPP'
stage broke an invariant/assumption made by DriverPipeline.genPipeline,
I'm afraid.

The invariant being that from the input filename to a compilation
pipeline, the start stage/phase can be uniquely determined
(via DriverPhases.startPhase). run_phase no longer guarantees
this, its result filename may now be equal to the input filename.
[This resulted in -M not working properly when -cpp wasn't also used].

Patch this up by having the input filename to a compilation pipeline
stage be tagged with the assumed suffix of the output. This is
really just papering over the cracks, the proper way to tidy this
up is to avoid having to do the two-stage compilation pipeline in
Main.main.compileFile, i.e., reconsider how OPTIONS pragmas are
handled. I decided not to try to do this now for fear of destabilising
HEAD even further.
ghc/compiler/main/DriverPipeline.hs
ghc/compiler/main/Main.hs