[clang] [alpha.webkit.UncountedLocalVarsChecker] Warn the use of a raw pointer/reference when the guardian variable gets mutated. (PR #113859)
via cfe-commits
cfe-commits at lists.llvm.org
Sun Oct 27 21:54:24 PDT 2024
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff fb33af08e4c105a05855f8beeb972d493410e72f 8fce7f69eb5e28f6ec648ee0dc4cc23c793f64c0 --extensions cpp,h -- clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp clang/test/Analysis/Checkers/WebKit/mock-types.h clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
index 5f5fb6e2bf..5978b23760 100644
--- a/clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
@@ -51,11 +51,10 @@ bool isRefcountedStringsHack(const VarDecl *V) {
struct GuardianVisitor : public RecursiveASTVisitor<GuardianVisitor> {
using Base = RecursiveASTVisitor<GuardianVisitor>;
- const VarDecl *Guardian { nullptr };
+ const VarDecl *Guardian{nullptr};
public:
- explicit GuardianVisitor(const VarDecl *Guardian)
- : Guardian(Guardian) {
+ explicit GuardianVisitor(const VarDecl *Guardian) : Guardian(Guardian) {
assert(Guardian);
}
@@ -69,7 +68,7 @@ public:
return true;
}
- bool VisitCXXConstructExpr(const CXXConstructExpr* CE) {
+ bool VisitCXXConstructExpr(const CXXConstructExpr *CE) {
if (auto *Ctor = CE->getConstructor()) {
if (Ctor->isMoveConstructor() && CE->getNumArgs() == 1) {
auto *Arg = CE->getArg(0)->IgnoreParenCasts();
@@ -82,7 +81,7 @@ public:
return true;
}
- bool VisitCXXMemberCallExpr(const CXXMemberCallExpr* MCE) {
+ bool VisitCXXMemberCallExpr(const CXXMemberCallExpr *MCE) {
auto MethodName = safeGetName(MCE->getMethodDecl());
if (MethodName == "swap" || MethodName == "leakRef" ||
MethodName == "releaseNonNull") {
@@ -95,7 +94,7 @@ public:
return true;
}
- bool VisitCXXOperatorCallExpr(const CXXOperatorCallExpr* OCE) {
+ bool VisitCXXOperatorCallExpr(const CXXOperatorCallExpr *OCE) {
if (OCE->isAssignmentOp() && OCE->getNumArgs() == 2) {
auto *ThisArg = OCE->getArg(0)->IgnoreParenCasts();
if (auto *VarRef = dyn_cast<DeclRefExpr>(ThisArg)) {
``````````
</details>
https://github.com/llvm/llvm-project/pull/113859
More information about the cfe-commits
mailing list