[clang] [clang-tools-extra] [clang-tidy] Warn about misuse of sizeof operator in loops. (PR #143205)
Baranov Victor via cfe-commits
cfe-commits at lists.llvm.org
Fri Jun 13 00:16:55 PDT 2025
================
@@ -353,6 +367,19 @@ void SizeofExpressionCheck::check(const MatchFinder::MatchResult &Result) {
diag(E->getBeginLoc(),
"suspicious usage of 'sizeof(char*)'; do you mean 'strlen'?")
<< E->getSourceRange();
+ } else if (const auto *E = Result.Nodes.getNodeAs<Stmt>("loop-expr")) {
+ auto *SizeofArgTy = Result.Nodes.getNodeAs<Type>("sizeof-arg-type");
+ if (const auto member = dyn_cast<MemberPointerType>(SizeofArgTy)) {
+ SizeofArgTy = member->getPointeeType().getTypePtr();
+ }
----------------
vbvictor wrote:
Please don't use braces for single-line ifs
```suggestion
if (const auto member = dyn_cast<MemberPointerType>(SizeofArgTy))
SizeofArgTy = member->getPointeeType().getTypePtr();
```
https://github.com/llvm/llvm-project/pull/143205
More information about the cfe-commits
mailing list