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

Ryosuke Niwa via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 6 08:24:25 PDT 2025


================
@@ -99,3 +99,22 @@ @interface AnotherObject : NSObject {
 @property(nonatomic, strong) NSString *prop_string;
 // expected-warning at -1{{Property 'prop_string' in 'AnotherObject' is a raw pointer to retainable type 'NSString'; member variables must be a RetainPtr}}
 @end
+
+NS_REQUIRES_PROPERTY_DEFINITIONS
+ at interface NoSynthObject : NSObject {
+  NSString *ns_string;
+  // expected-warning at -1{{Instance variable 'ns_string' in 'NoSynthObject' is a raw pointer to retainable type 'NSString'; member variables must be a RetainPtr}}
+  CFStringRef cf_string;
+  // expected-warning at -1{{Instance variable 'cf_string' in 'NoSynthObject' is a retainable type 'CFStringRef'; member variables must be a RetainPtr}}
+}
+ at property(nonatomic, readonly, strong) NSString *prop_string1;
+ at property(nonatomic, readonly, strong) NSString *prop_string2;
----------------
rniwa wrote:

Will add a test.

https://github.com/llvm/llvm-project/pull/141293


More information about the cfe-commits mailing list