[cfe-commits] [PATCH] Implement -MG
peter at pcc.me.uk
Tue Jul 12 14:35:56 CDT 2011
On Thu, Jun 30, 2011 at 11:40:26AM -0700, Chris Lattner wrote:
> On Jun 30, 2011, at 9:54 AM, Peter Collingbourne wrote:
> > Hi,
> > This patch implements -MG (and fixes PR9613). OK to commit?
> > One potential issue with this patch is that it introduces a
> > preprocessor flag whose purpose is to "manually" disable a fatal
> > diagnostic, since I couldn't see a way to do this within the existing
> > diagnostic system (Diagnostic::setDiagnosticMapping contains an assert
> > which explicitly forbids this).
> Cool, thanks for working on this. Instead of tackling it this way, how about switching err_cannot_open_file diagnostic to be a warning (which default maps to fatal) with no -W flag. Then the preprocessor could just remap this to ignore when in -MG mode.
> What do you think?
Yes, turning err_pp_file_not_found into a warning seems like the
right approach (I initially misunderstood the relationship between the
"kind" of diagnostic and the default mapping).
I'm not sure that the remapping should be done in -cc1 though, it feels
like a layering violation. Personally I feel the best place to make
the decision is in the driver, but I couldn't see an easy way to do
this while preserving existing behaviour, so I added the remapping at
an appropriate place in the frontend (lib/Frontend/DependencyFile.cpp)
with a FIXME.
Committed in r134996.
More information about the cfe-commits