Clarify when fix-it hints on warnings are appropriate

Summary:
This is not a change in the rules, it's meant as a clarification about
warnings. Since the recovery from warnings is a no-op, the fix-it hints
on warnings shouldn't change anything. Anything that doesn't just
suppress the warning and changes the meaning of the code (even if it's
for the better) should be on an additional note.

Reviewers: rsmith, aaron.ballman

Reviewed By: aaron.ballman

Subscribers: cfe-commits, thakis

Tags: #clang

Differential Revision: https://reviews.llvm.org/D62470

llvm-svn: 362266
This commit is contained in:
Aaron Puchert 2019-05-31 21:27:39 +00:00
parent 103bd108a7
commit 30a58f63af
1 changed files with 3 additions and 0 deletions

View File

@ -423,6 +423,9 @@ Fix-it hints on errors and warnings need to obey these rules:
driver, they should only be used when it's very likely they match the user's
intent.
* Clang must recover from errors as if the fix-it had been applied.
* Fix-it hints on a warning must not change the meaning of the code.
However, a hint may clarify the meaning as intentional, for example by adding
parentheses when the precedence of operators isn't obvious.
If a fix-it can't obey these rules, put the fix-it on a note. Fix-its on notes
are not applied automatically.