[PATCH] D33844: [clang-tidy] terminating continue check
Arthur O'Dwyer via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 22 10:07:05 PDT 2018
Quuxplusone added inline comments.
================
Comment at: clang-tidy/misc/TerminatingContinueCheck.cpp:42
+
+ auto Diag = diag(ContStmt->getLocStart(), "terminating 'continue'");
+ Diag << FixItHint::CreateReplacement(ContStmt->getSourceRange(), "break");
----------------
It was not clear to me what a "terminating 'continue'" was, just from seeing this error message. Wouldn't it make more sense to emit a self-explanatory diagnostic, such as
'continue', in loop with false condition, is equivalent to 'break'
? And then you could even suggest a fixit of replacing 'continue' with 'break'... oh, which you already do. :)
================
Comment at: test/clang-tidy/misc-terminating-continue.cpp:7
+ // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: terminating 'continue' [misc-terminating-continue]
+ } while(false);
+
----------------
I initially expected to see tests also for
goto L1;
while (false) {
L1:
continue; // 'continue' is equivalent to 'break'
}
int v = 0;
goto L1;
for (; false; ++v) {
L1:
continue; // 'continue' is NOT equivalent to 'break'
}
although I assume your current patch doesn't actually diagnose the former, and that's probably fine.
Repository:
rCTE Clang Tools Extra
https://reviews.llvm.org/D33844
More information about the cfe-commits
mailing list