[PATCH] Add check misc-braces-around-statements.
Alexander Kornienko
alexfh at google.com
Fri Sep 19 03:54:36 PDT 2014
================
Comment at: clang-tidy/misc/BracesAroundStatementsCheck.cpp:71
@@ +70,3 @@
+ //SourceLocation EndLoc = S->getLocEnd().getLocWithOffset(1 + Offset); // passes unittests
+ SourceLocation EndLoc = S->getLocEnd().getLocWithOffset(2); // passes tests
+ auto Diag = diag(S->getLocStart(), "statement should be inside braces");
----------------
alexfh wrote:
> Both options are wrong. You don't need to specify Offset explicitly. getLocEnd() returns the location of the first character of the last token, so you need to use Lexer::getLocForEndOfToken(S->getLocEnd()), which will get you a location right after the last token of the statement.
>
> Also, if there's an else/while();, I'd better you put the closing brace right before them in case there are comments between the statement and else/while();.
>
> Addressing this and the next comment will make it possible to maintain the LLVM-like style of arranging braces even without reformatting the changes.
And of course I meant:
SourceLocation EndLoc = Lexer::getLocForEndOfToken(
S->getLocEnd(), 0, *Result.SourceManager,
Result.Context->getLangOpts());
http://reviews.llvm.org/D5395
More information about the cfe-commits
mailing list