-
sof authored
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.
17629712