[clang] [alpha.webkit.UncountedLocalVarsChecker] Ignore a VarDecl in "if" with trivial "then" (PR #171764)
Balázs Benics via cfe-commits
cfe-commits at lists.llvm.org
Thu Dec 11 08:12:15 PST 2025
================
@@ -492,4 +492,42 @@ namespace virtual_function {
auto* baz = &*obj;
// expected-warning at -1{{Local variable 'baz' is uncounted and unsafe [alpha.webkit.UncountedLocalVarsChecker]}}
}
-}
\ No newline at end of file
+}
+
+namespace vardecl_in_if_condition {
+ RefCountable* provide();
+
+ RefCountable* get() {
+ if (auto* obj = provide())
+ return obj; // no warning
+ return nullptr;
+ }
+
+ RefCountable* get_non_trivial_then() {
+ if (auto* obj = provide()) // expected-warning{{Local variable 'obj' is uncounted and unsafe [alpha.webkit.UncountedLocalVarsChecker]}}
+ return obj->next();
+ return nullptr;
+ }
+
+ RefCountable* get_non_trivial_else() {
+ if (auto* obj = provide())
+ return obj;
+ else
+ return provide()->next();
+ return nullptr;
+ }
----------------
steakhal wrote:
As you wish.
https://github.com/llvm/llvm-project/pull/171764
More information about the cfe-commits
mailing list