The decision we came to some time ago when discussing this on the mailing list was that the rule actually held, and the only valid fixit hint to issue on a warning is one which *does not impact* the AST produced or the recovery path.
For example, its valid to issue a warning with a fixit hint to correct 'struct' to 'class' (or vice versa) on a forward declaration which does not match the actual definition. I think we have only a very few (if any) warnings left with fixit hints that, were they applied, would change the AST produced. And I think those should just be fixed to attach them to notes. On Mon, Jul 9, 2012 at 10:03 PM, Chris Lattner <[email protected]> wrote: > Author: lattner > Date: Tue Jul 10 00:03:05 2012 > New Revision: 159980 > > URL: http://llvm.org/viewvc/llvm-project?rev=159980&view=rev > Log: > Jordan points out that this was incorrect: clang should recover from > *errors* with fixits on them by following the recovery advised by the > fixit, but if it is a fixit on a warning, then obviously the AST > should be for the code as-written. > > Modified: > cfe/trunk/docs/InternalsManual.html > > Modified: cfe/trunk/docs/InternalsManual.html > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/InternalsManual.html?rev=159980&r1=159979&r2=159980&view=diff > > ============================================================================== > --- cfe/trunk/docs/InternalsManual.html (original) > +++ cfe/trunk/docs/InternalsManual.html Tue Jul 10 00:03:05 2012 > @@ -453,8 +453,7 @@ > <li>Since they are automatically applied if <code>-Xclang -fixit</code> > is passed to the driver, they should only be used when it's very likely > they > match the user's intent.</li> > -<li>Clang must recover from the error or warning as if the fix-it had been > -applied.</li> > +<li>Clang must recover from errors as if the fix-it had been applied.</li> > </ul> > > <p>If a fix-it can't obey these rules, put the fix-it on a note. Fix-its > on > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
