[clang-tidy] Fix an assert failure of ForStmt in `readability-braces-around-statements` check.
Reviewers: alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D17134 git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@260952 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
28ff24202d
Коммит
bd32ec98da
|
@ -215,6 +215,8 @@ bool BracesAroundStatementsCheck::checkStmt(
|
|||
return false;
|
||||
}
|
||||
|
||||
if (!InitialLoc.isValid())
|
||||
return false;
|
||||
const SourceManager &SM = *Result.SourceManager;
|
||||
const ASTContext *Context = Result.Context;
|
||||
|
||||
|
@ -225,8 +227,6 @@ bool BracesAroundStatementsCheck::checkStmt(
|
|||
if (FileRange.isInvalid())
|
||||
return false;
|
||||
|
||||
// InitialLoc points at the last token before opening brace to be inserted.
|
||||
assert(InitialLoc.isValid());
|
||||
// Convert InitialLoc to file location, if it's on the same macro expansion
|
||||
// level as the start of the statement. We also need file locations for
|
||||
// Lexer::getLocForEndOfToken working properly.
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
// RUN: %check_clang_tidy %s readability-braces-around-statements %t
|
||||
// RUN: clang-tidy -checks='-*,readability-braces-around-statements' %s --
|
||||
|
||||
// Note: this test expects no assert failure happened in clang-tidy.
|
||||
|
||||
int test_failure() {
|
||||
if (std::rand()) {
|
||||
// CHECK-MESSAGES: :[[@LINE-1]]:7: error: use of undeclared identifier 'std'
|
||||
}
|
||||
}
|
||||
|
||||
void test_failure2() {
|
||||
for (a b c;;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче