[clang] [WebKit checkers] Treat function pointers with "Singleton" suffix as singleton. (PR #158012)

2025-09-20 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/158012 >From 4300ba25baa26edd6996ced22b1d52025dbba86b Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Thu, 11 Sep 2025 01:23:50 -0700 Subject: [PATCH] [WebKit checkers] Treat function pointers with "Singleton" suffix

[clang] [WebKit checkers] Treat NULL, 0, and nil like nullptr (PR #157700)

2025-09-20 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/157700 This PR makes WebKit checkers treat NULL, 0, and nil like nullptr in various places. >From 8c8c20cf6d3ea822d098bfb97b8426cf8d8eef85 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Tue, 9 Sep 2025 09:13:47 -070

[clang] [webkit.UncountedLambdaCapturesChecker] Ignore DeclRefExpr to a lambda in an no-escape argument (PR #155025)

2025-09-20 Thread Ryosuke Niwa via cfe-commits
@@ -232,14 +232,19 @@ class RawPtrRefLambdaCapturesChecker if (!Init) return nullptr; if (auto *Lambda = dyn_cast(Init)) { + DeclRefExprsToIgnore.insert(DRE); updateIgnoreList(); return Lambda; } TempExp

[clang] [alpha.webkit.NoUnretainedMemberChecker] Only check @property when @implementation is seen (PR #159947)

2025-09-20 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/159947 A @interface declaration with a raw pointer @property does not necessarily mean it synthesizes ivar of that type. To determine whether such a synthesis happens or not, we must wait for @implementation to appear.

[clang] [WebKit checkers] Treat function pointers with "Singleton" suffix as singleton. (PR #158012)

2025-09-20 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/158012 >From a15b50ae7a6099db0a8919c5280820acd4c7051c Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Thu, 11 Sep 2025 01:23:50 -0700 Subject: [PATCH 1/3] [WebKit checkers] Treat function pointers with "Singleton" suf

[clang] [alpha.webkit.UnretainedCallArgsChecker] Treat boolean literal as safe (PR #159705)

2025-09-18 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/159705 None >From f380677be861539cf9977d42e3e3c1b5921f4e41 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Thu, 18 Sep 2025 22:44:25 -0700 Subject: [PATCH] [alpha.webkit.UnretainedCallArgsChecker] Treat boolean liter

[clang] [WebKit checkers] Add the support for OSObjectPtr (PR #159484)

2025-09-18 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/159484 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [webkit.UncountedLambdaCapturesChecker] Treat arguments of std::ranges::all_of as [[clang::noescape]] (PR #158419)

2025-09-18 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/158419 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [webkit.UncountedLambdaCapturesChecker] Treat arguments of std::ranges::all_of as [[clang::noescape]] (PR #158419)

2025-09-18 Thread Ryosuke Niwa via cfe-commits
rniwa wrote: Thanks for the review! https://github.com/llvm/llvm-project/pull/158419 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebKit checkers] Add the support for OSObjectPtr (PR #159484)

2025-09-17 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/159484 Add the support for OSObjectPtr, which behaves like RetainPtr. >From 126317069f2e9332849985bcfced95aba280e1fa Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Wed, 17 Sep 2025 16:55:50 -0700 Subject: [PATCH] [We

[clang] [WebKit checkers] Treat asm brk as trivial (PR #155046)

2025-09-17 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/155046 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [webkit.UncountedLambdaCapturesChecker] Treat arguments of std::ranges::all_of as [[clang::noescape]] (PR #158419)

2025-09-13 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/158419 >From ee8c60bda6bc36328ea3255459507b1b64817913 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Sat, 13 Sep 2025 03:05:37 -0700 Subject: [PATCH 1/2] [webkit.UncountedLambdaCapturesChecker] Treat arguments of std

[clang] [webkit.UncountedLambdaCapturesChecker] Ignore DeclRefExpr to a lambda in an no-escape argument (PR #155025)

2025-09-13 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/155025 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [webkit.UncountedLambdaCapturesChecker] Treat arguments of std::ranges::all_of as [[clang::noescape]] (PR #158419)

2025-09-13 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa edited https://github.com/llvm/llvm-project/pull/158419 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [webkit.UncountedLambdaCapturesChecker] Treat arguments of std::ranges::all_of as [[clang::oescape]] (PR #158419)

2025-09-13 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/158419 The checker already had std::ranges hard-coded to treat its arguments as [[clang::oescape]] but the fact std::ranges::all_of is implemented as a struct instead of a function confused the checker and resuled in a

[clang] [webkit.UncountedLambdaCapturesChecker] Treat arguments of std::ranges::all_of as [[clang::noescape]] (PR #158419)

2025-09-13 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/158419 >From ee8c60bda6bc36328ea3255459507b1b64817913 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Sat, 13 Sep 2025 03:05:37 -0700 Subject: [PATCH] [webkit.UncountedLambdaCapturesChecker] Treat arguments of std::ra

[clang] [webkit.UncountedLambdaCapturesChecker] Ignore DeclRefExpr to a lambda in an no-escape argument (PR #155025)

2025-09-12 Thread Ryosuke Niwa via cfe-commits
rniwa wrote: Thanks for the review! https://github.com/llvm/llvm-project/pull/155025 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebKit checkers] Treat function pointers with "Singleton" suffix as singleton. (PR #158012)

2025-09-12 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/158012 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebKit checkers] Recognize NS_RETURNS_RETAINED and CF_RETURNS_RETAINED. (PR #157629)

2025-09-12 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/157629 >From a2659637d558a25e73bc5984cecc2dae3b84ef32 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Tue, 9 Sep 2025 02:06:03 -0700 Subject: [PATCH 1/2] [WebKit checkers] Recognize NS_RETURNS_RETAINED and CF_RETURNS_

[clang] [alpha.webkit.UncountedCallArgsChecker] A return value can be erroneously treated as unsafe if it's a template parameter (PR #157993)

2025-09-12 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/157993 >From e4334be7318658f8530747d3c275499157a41149 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Wed, 10 Sep 2025 22:15:10 -0700 Subject: [PATCH 1/2] [alpha.webkit.UncountedCallArgsChecker] A return value can be

[clang] [WebKit checkers] Treat function pointers with "Singleton" suffix as singleton. (PR #158012)

2025-09-12 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/158012 >From 7081e79e160a7393b50437bd7ba2d462b33a330b Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Thu, 11 Sep 2025 01:23:50 -0700 Subject: [PATCH] [WebKit checkers] Treat function pointers with "Singleton" suffix

[clang] [alpha.webkit.UncountedCallArgsChecker] A return value can be erroneously treated as unsafe if it's a template parameter (PR #157993)

2025-09-12 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/157993 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebKit checkers] Recognize NS_RETURNS_RETAINED and CF_RETURNS_RETAINED. (PR #157629)

2025-09-12 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/157629 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebKit checkers] Recognize NS_RETURNS_RETAINED and CF_RETURNS_RETAINED. (PR #157629)

2025-09-12 Thread Ryosuke Niwa via cfe-commits
rniwa wrote: Thanks for the review! https://github.com/llvm/llvm-project/pull/157629 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebKit checkers] Recognize NS_RETURNS_RETAINED and CF_RETURNS_RETAINED. (PR #157629)

2025-09-12 Thread Ryosuke Niwa via cfe-commits
@@ -438,6 +438,20 @@ void use_const_local() { } // namespace const_global +namespace ns_retained_return_value { + +NSString *provideNS() NS_RETURNS_RETAINED; +CFDictionaryRef provideCF() CF_RETURNS_RETAINED; +void consumeNS(NSString *); +void consumeCF(CFDictionaryRef); + +vo

[clang] [WebKit checkers] Treat function pointers with "Singleton" suffix as singleton. (PR #158012)

2025-09-12 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/158012 >From a15b50ae7a6099db0a8919c5280820acd4c7051c Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Thu, 11 Sep 2025 01:23:50 -0700 Subject: [PATCH 1/2] [WebKit checkers] Treat function pointers with "Singleton" suf

[clang] [WebKit checkers] Treat function pointers with "Singleton" suffix as singleton. (PR #158012)

2025-09-12 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/158012 None >From a15b50ae7a6099db0a8919c5280820acd4c7051c Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Thu, 11 Sep 2025 01:23:50 -0700 Subject: [PATCH] [WebKit checkers] Treat function pointers with "Singleton" s

[clang] [alpha.webkit.UncountedCallArgsChecker] A return value can be erroneously treated as unsafe if it's a template parameter (PR #157993)

2025-09-12 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/157993 When a template class takes Ref as a template parameter and this template parameter is used as the return value of a member function, the return value can be treated as unsafe (i.e. emits a false positive). The i

[clang] [WebKit checkers] Treat asm brk as trivial (PR #155046)

2025-09-09 Thread Ryosuke Niwa via cfe-commits
@@ -666,6 +666,10 @@ class TrivialFunctionAnalysisVisitor return IsFunctionTrivial(Callee); } + bool VisitGCCAsmStmt(const GCCAsmStmt *AS) { +return AS->getAsmString() == "brk #0xc471"; rniwa wrote: We could consider stripping whitespace but it's p

[clang] [WebKit checkers] Treat asm brk as trivial (PR #155046)

2025-09-09 Thread Ryosuke Niwa via cfe-commits
@@ -666,6 +666,10 @@ class TrivialFunctionAnalysisVisitor return IsFunctionTrivial(Callee); } + bool VisitGCCAsmStmt(const GCCAsmStmt *AS) { +return AS->getAsmString() == "brk #0xc471"; rniwa wrote: It could be other kinds of brk as long as it trig

[clang] [webkit.UncountedLambdaCapturesChecker] Ignore DeclRefExpr to a lambda in an no-escape argument (PR #155025)

2025-09-09 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/155025 >From e526eb02550c02dcce8de3239829cc26b764fd8d Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Fri, 22 Aug 2025 13:06:08 -0700 Subject: [PATCH 1/3] [webkit.UncountedLambdaCapturesChecker] Ignore DeclRefExpr to

[clang] [WebKit checkers] Recognize NS_RETURNS_RETAINED and CF_RETURNS_RETAINED. (PR #157629)

2025-09-09 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/157629 This PR adds the support for treating a function return value to be safe if the function is annotated with NS_RETURNS_RETAINED or CF_RETURNS_RETAINED. >From a2659637d558a25e73bc5984cecc2dae3b84ef32 Mon Sep 17 00:

[clang] [alpha.webkit.UncheckedCallArgsChecker] Don't emit a warning for passing a temporary object as an argument. (PR #155033)

2025-09-08 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/155033 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebKit checkers] Treat asm brk as trivial (PR #155046)

2025-08-22 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/155046 Like other functions which results in abort, treat asm brk instruction as trivial. >From 9d3e26d1ef48d87d9a98969f74a2363c5039fe04 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Fri, 22 Aug 2025 15:57:45 -0700

[clang] [webkit.UncountedLambdaCapturesChecker] Ignore DeclRefExpr to a lambda in an no-escape argument (PR #155025)

2025-08-22 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/155025 >From e526eb02550c02dcce8de3239829cc26b764fd8d Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Fri, 22 Aug 2025 13:06:08 -0700 Subject: [PATCH 1/2] [webkit.UncountedLambdaCapturesChecker] Ignore DeclRefExpr to

[clang] [webkit.UncountedLambdaCapturesChecker] Ignore DeclRefExpr to a lambda in an no-escape argument (PR #155025)

2025-08-22 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/155025 >From e526eb02550c02dcce8de3239829cc26b764fd8d Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Fri, 22 Aug 2025 13:06:08 -0700 Subject: [PATCH 1/2] [webkit.UncountedLambdaCapturesChecker] Ignore DeclRefExpr to

[clang] [webkit.UncountedLambdaCapturesChecker] Ignore DeclRefExpr to a lambda in an no-escape argument (PR #155025)

2025-08-22 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/155025 Fix a bug that webkit.UncountedLambdaCapturesChecker was erroneously emitting a warning for a DeclRefExpr which is passed in as an argument to a no-escape function argument. The bug was caused by findLambdaInArg

[clang] WebKit checkers: recgonize @YES / @NO as safe constants (PR #148721)

2025-07-16 Thread Ryosuke Niwa via cfe-commits
rniwa wrote: oh, I didn't even realize `@YES` and `@NO` would tag people. https://github.com/llvm/llvm-project/pull/148721 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [alpha.webkit.UncountedCallArgsChecker] Treat CFEqual as a safe function (PR #146369)

2025-06-30 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa approved this pull request. https://github.com/llvm/llvm-project/pull/146369 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [alpha.webkit.UncountedCallArgsChecker] Treat CFEqual as a safe function (PR #146369)

2025-06-30 Thread Ryosuke Niwa via cfe-commits
@@ -45,6 +45,7 @@ CFDictionaryRef CFDictionaryCreateCopy(CFAllocatorRef allocator, CFDictionaryRef CFDictionaryRef CFDictionaryCreateMutableCopy(CFAllocatorRef allocator, CFIndex capacity, CFDictionaryRef theDict); CFIndex CFDictionaryGetCount(CFDictionaryRef theDict); Boolea

[clang] [alpha.webkit.UncountedCallArgsChecker] Treat CFEqual as a safe function (PR #146369)

2025-06-30 Thread Ryosuke Niwa via cfe-commits
@@ -0,0 +1,11 @@ +// RUN: %clang_analyze_cc1 -analyzer-checker=alpha.webkit.UncountedCallArgsChecker -verify %s + rniwa wrote: You wanna add: ``` // expected-no-diagnostics ``` https://github.com/llvm/llvm-project/pull/146369 ___

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #143408)

2025-06-09 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/143408 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #143408)

2025-06-09 Thread Ryosuke Niwa via cfe-commits
rniwa wrote: Thank for you all the reviews! https://github.com/llvm/llvm-project/pull/143408 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #141293)

2025-06-09 Thread Ryosuke Niwa via cfe-commits
rniwa wrote: There was a typo in the branch name so closing this in favor of a new PR: https://github.com/llvm/llvm-project/pull/143408 https://github.com/llvm/llvm-project/pull/141293 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://li

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #143408)

2025-06-09 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/143408 Allow @property of a raw pointer when NS_REQUIRES_PROPERTY_DEFINITIONS is specified on the interface since such an interface does not automatically synthesize raw pointer ivars. Also emit a warning for @property

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #141293)

2025-06-09 Thread Ryosuke Niwa via cfe-commits
@@ -142,6 +144,8 @@ class RawPtrRefMemberChecker if (auto *ID = dyn_cast(CD)) { for (auto *Ivar : ID->ivars()) visitIvarDecl(CD, Ivar); + for (auto *PropImpl : ID->property_impls()) +visitPropImpl(CD, PropImpl); rniwa wrote: oh,

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #141293)

2025-06-09 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/141293 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebKit checkers] Treat passing of a member variable which is capable of CheckedPtr as safe. (PR #142485)

2025-06-09 Thread Ryosuke Niwa via cfe-commits
rniwa wrote: Thank you for the review! https://github.com/llvm/llvm-project/pull/142485 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebKit checkers] Add an annotation for pointer conversion. (PR #141277)

2025-06-09 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/141277 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebKit checkers] Add an annotation for pointer conversion. (PR #141277)

2025-06-09 Thread Ryosuke Niwa via cfe-commits
rniwa wrote: Thanks for the review! https://github.com/llvm/llvm-project/pull/141277 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebKit checkers] Treat passing of a member variable which is capable of CheckedPtr as safe. (PR #142485)

2025-06-09 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/142485 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebKit checkers] Add an annotation for pointer conversion. (PR #141277)

2025-06-06 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/141277 >From b29b369a5b26869916101e45aa4580a5f7de3907 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Fri, 23 May 2025 11:42:20 -0700 Subject: [PATCH 1/2] [WebKit checkers] Add an annotation for pointer conversion. T

[clang] [WebKit checkers] Add an annotation for pointer conversion. (PR #141277)

2025-06-06 Thread Ryosuke Niwa via cfe-commits
@@ -44,6 +43,12 @@ inline Target* uncheckedDowncast(Source* source) return static_cast(source); } +template +Target* [[clang::annotate_type("webkit.pointerconversion")]] newCastFunction(Source*); rniwa wrote: I don't think so. I added a test case for tha

[clang] [WebKit checkers] Treat passing of a member variable which is capable of CheckedPtr as safe. (PR #142485)

2025-06-06 Thread Ryosuke Niwa via cfe-commits
@@ -32,6 +32,22 @@ static void baz() { } // namespace call_args_checked +namespace call_args_member { + +void consume(CheckedObj&); + +struct WrapperObj { + CheckedObj checked; + CheckedObj& checkedRef; + void foo() { +consume(checked); rniwa wrote: B

[clang] [WebKit checkers] Treat passing of a member variable which is capable of CheckedPtr as safe. (PR #142485)

2025-06-06 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/142485 >From e0d5e1092893d6e93ead44763d5789cba84c34f9 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Mon, 2 Jun 2025 14:52:38 -0600 Subject: [PATCH 1/2] [WebKit checkers] Treat passing of a member variable which is c

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #141293)

2025-06-06 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/141293 >From bcee06004f24f8488bcc8e84170bf3509daa5fd9 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Fri, 23 May 2025 13:53:36 -0700 Subject: [PATCH 1/3] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #141293)

2025-06-06 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/141293 >From bcee06004f24f8488bcc8e84170bf3509daa5fd9 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Fri, 23 May 2025 13:53:36 -0700 Subject: [PATCH 1/2] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #141293)

2025-06-06 Thread Ryosuke Niwa via cfe-commits
@@ -64,3 +64,33 @@ void forceTmplToInstantiate(FooTmpl) {} }; } // namespace ptr_to_ptr_to_retained + +@interface AnotherObject : NSObject { + NSString *ns_string; + CFStringRef cf_string; + // expected-warning@-1{{Instance variable 'cf_string' in 'AnotherObject' is a re

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #141293)

2025-06-06 Thread Ryosuke Niwa via cfe-commits
@@ -99,3 +99,22 @@ @interface AnotherObject : NSObject { @property(nonatomic, strong) NSString *prop_string; // expected-warning@-1{{Property 'prop_string' in 'AnotherObject' is a raw pointer to retainable type 'NSString'; member variables must be a RetainPtr}} @end + +NS_REQU

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #141293)

2025-06-06 Thread Ryosuke Niwa via cfe-commits
@@ -64,3 +64,33 @@ void forceTmplToInstantiate(FooTmpl) {} }; } // namespace ptr_to_ptr_to_retained + +@interface AnotherObject : NSObject { + NSString *ns_string; + CFStringRef cf_string; + // expected-warning@-1{{Instance variable 'cf_string' in 'AnotherObject' is a re

[clang] [alpha.webkit.UncheckedCallArgsChecker] Forwarding r-value reference should not result in a warning (PR #142471)

2025-06-06 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/142471 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [alpha.webkit.UncheckedCallArgsChecker] Forwarding r-value reference should not result in a warning (PR #142471)

2025-06-06 Thread Ryosuke Niwa via cfe-commits
rniwa wrote: Thanks for the review! https://github.com/llvm/llvm-project/pull/142471 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebKit checkers] Treat passing of a member variable which is capable of CheckedPtr as safe. (PR #142485)

2025-06-06 Thread Ryosuke Niwa via cfe-commits
@@ -32,6 +32,22 @@ static void baz() { } // namespace call_args_checked +namespace call_args_member { + +void consume(CheckedObj&); + +struct WrapperObj { + CheckedObj checked; + CheckedObj& checkedRef; + void foo() { +consume(checked); rniwa wrote: Y

[clang] [alpha.webkit.UncheckedCallArgsChecker] Forwarding r-value reference should not result in a warning (PR #142471)

2025-06-03 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/142471 >From e915af753e5d51afea1b313adea4d89ecd5e678d Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Mon, 2 Jun 2025 13:58:50 -0600 Subject: [PATCH 1/2] [alpha.webkit.UncheckedCallArgsChecker] Forwarding r-value refe

[clang] [WebKit checkers] Treat passing of a member variable which is capable of CheckedPtr as safe. (PR #142485)

2025-06-02 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/142485 It's safe for a member function of a class or struct to call a function or allocate a local variable with a pointer or a reference to a member variable since "this" pointer, and therefore all its members, will be

[clang] [alpha.webkit.UncheckedCallArgsChecker] Forwarding r-value reference should not result in a warning (PR #142471)

2025-06-02 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/142471 This PR fixes the bug that the checker emits a warning when a function takes T&& and passes it to another function using std::move. We should treat std::move like any other pointer conversion and the origin of th

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #141293)

2025-05-23 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/141293 >From bcee06004f24f8488bcc8e84170bf3509daa5fd9 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Fri, 23 May 2025 13:53:36 -0700 Subject: [PATCH] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PRO

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recognize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #141293)

2025-05-23 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa edited https://github.com/llvm/llvm-project/pull/141293 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recocgnize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #141293)

2025-05-23 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/141293 >From bd7daa355f5c1924475c0818dd4963af7bbffcb1 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Fri, 23 May 2025 13:53:36 -0700 Subject: [PATCH 1/3] [alpha.webkit.NoUnretainedMemberChecker] Recocgnize NS_REQUIRE

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recocgnize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #141293)

2025-05-23 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/141293 >From bd7daa355f5c1924475c0818dd4963af7bbffcb1 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Fri, 23 May 2025 13:53:36 -0700 Subject: [PATCH 1/2] [alpha.webkit.NoUnretainedMemberChecker] Recocgnize NS_REQUIRE

[clang] [alpha.webkit.NoUnretainedMemberChecker] Recocgnize NS_REQUIRES_PROPERTY_DEFINITIONS (PR #141293)

2025-05-23 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/141293 Allow @property of a raw pointer when NS_REQUIRES_PROPERTY_DEFINITIONS is specified on the interface since such an interface does not automatically synthesize raw pointer ivars. >From bd7daa355f5c1924475c0818dd4

[clang] [WebKit checkers] Add an annotation for pointer conversion. (PR #141277)

2025-05-23 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/141277 This PR adds the WebKit checker support for [[clang::annotate_type("webkit.pointerconversion")]]. When this attribute is set on the return value of a function, the function is treated as safe to call anywhere an

[clang] [RawPtrRefMemberChecker] Add the support for union and pointers to unsafe pointers. (PR #138042)

2025-05-09 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/138042 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [webkit.UncountedLambdaCapturesChecker] Treat every argument of std::ranges functions as noescape. (PR #138995)

2025-05-09 Thread Ryosuke Niwa via cfe-commits
rniwa wrote: Thanks for the review! https://github.com/llvm/llvm-project/pull/138995 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [webkit.UncountedLambdaCapturesChecker] Treat every argument of std::ranges functions as noescape. (PR #138995)

2025-05-09 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/138995 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [RawPtrRefMemberChecker] Add the support for union and pointers to unsafe pointers. (PR #138042)

2025-05-09 Thread Ryosuke Niwa via cfe-commits
rniwa wrote: Thanks for the review! https://github.com/llvm/llvm-project/pull/138042 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [webkit.UncountedLambdaCapturesChecker] Treat every argument of std::ranges functions as noescape. (PR #138995)

2025-05-08 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/138995 >From d4b5f004e2d91e8d821e20bee6fcb43b87701b9d Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Wed, 7 May 2025 16:53:35 -0700 Subject: [PATCH 1/3] [webkit.UncountedLambdaCapturesChecker] Treat every argument of

[clang] [RawPtrRefMemberChecker] Add the support for union and pointers to unsafe pointers. (PR #138042)

2025-05-08 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/138042 >From d03c8bb9915ff20c3936525a11a8ef113805b124 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Sun, 27 Apr 2025 16:52:13 -0700 Subject: [PATCH 1/2] [RawPtrRefMemberChecker] Add the support for union and pointer

[clang] [RawPtrRefMemberChecker] Add the support for union and pointers to unsafe pointers. (PR #138042)

2025-05-08 Thread Ryosuke Niwa via cfe-commits
@@ -192,7 +202,8 @@ class RawPtrRefMemberChecker const auto Kind = RD->getTagKind(); // FIMXE: Should we check union members too? -if (Kind != TagTypeKind::Struct && Kind != TagTypeKind::Class) +if (Kind != TagTypeKind::Struct && Kind != TagTypeKind::Class && -

[clang] [webkit.UncountedLambdaCapturesChecker] Treat every argument of std::ranges functions as noescape. (PR #138995)

2025-05-07 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/138995 Rate limit · GitHub body { background-color: #f6f8fa; color: #24292e; font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-ser

[clang] [webkit.UncountedLambdaCapturesChecker] Treat every argument of std::ranges functions as noescape. (PR #138995)

2025-05-07 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/138995 Functions in std::ranges namespace does not store the lambada passed-in as an arugment in heap so treat such an argument as if it has [[noescape]] in the WebKit lambda capture checker so that we don't emit warnin

[clang] [webkit.UncountedLambdaCapturesChecker] Treat a copy capture of a CheckedPtr object as safe (PR #138068)

2025-05-07 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/138068 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [WebKit checkers] Treat std::bit_cast as a pointer conversion (PR #137476)

2025-04-30 Thread Ryosuke Niwa via cfe-commits
rniwa wrote: Thanks for the review! https://github.com/llvm/llvm-project/pull/137476 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [webkit.UncountedLambdaCapturesChecker] Treat a copy capture of a CheckedPtr object as safe (PR #138068)

2025-04-30 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/138068 Allow copy capture of a reference to a CheckedPtr capable object since such a capture will copy the said object instead of keeping a dangling reference to the object. Rate limit · GitHub

[clang] [WebKit checkers] Treat std::bit_cast as a pointer conversion (PR #137476)

2025-04-30 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/137476 >From c76e86105b5ba03cc2a3c8399670b2b38eb8e6ea Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Sat, 26 Apr 2025 14:03:13 -0700 Subject: [PATCH 1/2] [WebKit checkers] Treat std::bit_cast as a pointer conversion

[clang] [WebKit checkers] Treat std::bit_cast as a pointer conversion (PR #137476)

2025-04-30 Thread Ryosuke Niwa via cfe-commits
@@ -462,7 +462,7 @@ bool isPtrConversion(const FunctionDecl *F) { const auto FunctionName = safeGetName(F); if (FunctionName == "getPtr" || FunctionName == "WeakPtr" || FunctionName == "dynamicDowncast" || FunctionName == "downcast" || - FunctionName == "checkedD

[clang] [WebKit checkers] Treat std::bit_cast as a pointer conversion (PR #137476)

2025-04-30 Thread Ryosuke Niwa via cfe-commits
@@ -462,7 +462,7 @@ bool isPtrConversion(const FunctionDecl *F) { const auto FunctionName = safeGetName(F); if (FunctionName == "getPtr" || FunctionName == "WeakPtr" || FunctionName == "dynamicDowncast" || FunctionName == "downcast" || - FunctionName == "checkedD

[clang] Support ptr to ptr and union in webkit member checker (PR #137566)

2025-04-30 Thread Ryosuke Niwa via cfe-commits
rniwa wrote: Closing this in favor of https://github.com/llvm/llvm-project/pull/138042. https://github.com/llvm/llvm-project/pull/137566 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Support ptr to ptr and union in webkit member checker (PR #137566)

2025-04-30 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/137566 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [RawPtrRefMemberChecker] Add the support for union and pointers to unsafe pointers. (PR #138042)

2025-04-30 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/138042 This PR adds support for detecting unsafe union members and pointers to unsafe pointers (e.g. T** where T* is an unsafe pointer type). Rate limit · GitHub body { ba

[clang] [RawPtrRefMemberChecker] Make RawPtrRefMemberChecker consistent with other checkers (PR #137559)

2025-04-30 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/137559 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [RawPtrRefMemberChecker] Make RawPtrRefMemberChecker consistent with other checkers (PR #137559)

2025-04-30 Thread Ryosuke Niwa via cfe-commits
rniwa wrote: Thanks for the review! https://github.com/llvm/llvm-project/pull/137559 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Support ptr to ptr and union in webkit member checker (PR #137566)

2025-04-27 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/137566 None >From a04f65339530bea920c80dc1b2b0f3c9bab488c3 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Sun, 20 Apr 2025 18:38:31 -0700 Subject: [PATCH 1/2] [RawPtrRefMemberChecker] Make RawPtrRefMemberChecker con

[clang] Support ptr to ptr and union in webkit member checker (PR #137565)

2025-04-27 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/137565 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [RawPtrRefMemberChecker] Make RawPtrRefMemberChecker consistent with other checkers (PR #137559)

2025-04-27 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa updated https://github.com/llvm/llvm-project/pull/137559 >From 9d6c807a5d7b853876132be0668357f6945978af Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Sun, 20 Apr 2025 18:38:31 -0700 Subject: [PATCH 1/2] [RawPtrRefMemberChecker] Make RawPtrRefMemberChecker consisten

[clang] Support ptr to ptr and union in webkit member checker (PR #137565)

2025-04-27 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/137565 None >From 9d6c807a5d7b853876132be0668357f6945978af Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Sun, 20 Apr 2025 18:38:31 -0700 Subject: [PATCH 1/2] [RawPtrRefMemberChecker] Make RawPtrRefMemberChecker con

[clang] [RawPtrRefMemberChecker] Make RawPtrRefMemberChecker consistent with other checkers (PR #137559)

2025-04-27 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/137559 Refactor RawPtrRefMemberChecker so that each subclass override isUnsafePtr like other WebKit checkers instead of overriding isPtrCompatible. >From 9d6c807a5d7b853876132be0668357f6945978af Mon Sep 17 00:00:00 2001

[clang] [alpha.webkit.RetainPtrCtorAdoptChecker] Check nullity before calling IgnoreParenCasts. (PR #137556)

2025-04-27 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa closed https://github.com/llvm/llvm-project/pull/137556 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [alpha.webkit.RetainPtrCtorAdoptChecker] An assortment of small enhancements (PR #135329)

2025-04-27 Thread Ryosuke Niwa via cfe-commits
rniwa wrote: Oops, fixing the assertion failure in https://github.com/llvm/llvm-project/pull/137556. https://github.com/llvm/llvm-project/pull/135329 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listin

[clang] [alpha.webkit.RetainPtrCtorAdoptChecker] Check nullity before calling IgnoreParenCasts. (PR #137556)

2025-04-27 Thread Ryosuke Niwa via cfe-commits
https://github.com/rniwa created https://github.com/llvm/llvm-project/pull/137556 None >From 46d5c45c4c7a6abe0255aa31e2c7435d7f3e8289 Mon Sep 17 00:00:00 2001 From: Ryosuke Niwa Date: Sun, 27 Apr 2025 15:16:40 -0700 Subject: [PATCH] [alpha.webkit.RetainPtrCtorAdoptChecker] Check nullity before

  1   2   3   4   5   6   7   8   9   >