[clang] 86d767c - [alpha.webkit.UnretainedCallArgsChecker] Treat boolean literal as safe (#159705)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 23 02:23:31 PDT 2025
Author: Ryosuke Niwa
Date: 2025-09-23T02:23:27-07:00
New Revision: 86d767c3a0d422e4ee2a2d7ecc1a6880d9e33448
URL: https://github.com/llvm/llvm-project/commit/86d767c3a0d422e4ee2a2d7ecc1a6880d9e33448
DIFF: https://github.com/llvm/llvm-project/commit/86d767c3a0d422e4ee2a2d7ecc1a6880d9e33448.diff
LOG: [alpha.webkit.UnretainedCallArgsChecker] Treat boolean literal as safe (#159705)
Added:
Modified:
clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
Removed:
################################################################################
diff --git a/clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
index df13de158a646..9585ceb40f95e 100644
--- a/clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
+++ b/clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
@@ -224,6 +224,8 @@ class RawPtrRefCallArgsChecker
// foo(123)
return true;
}
+ if (isa<CXXBoolLiteralExpr>(ArgOrigin))
+ return true;
if (isa<ObjCStringLiteral>(ArgOrigin))
return true;
if (isASafeCallArg(ArgOrigin))
diff --git a/clang/test/Analysis/Checkers/WebKit/objc-mock-types.h b/clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
index 854742b82a2d4..39dee1746158b 100644
--- a/clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
+++ b/clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
@@ -160,6 +160,7 @@ __attribute__((objc_root_class))
- (int)intValue;
- (id)initWithInt:(int)value;
+ (NSNumber *)numberWithInt:(int)value;
++ (NSNumber *)numberWithBool:(BOOL)value;
@end
@interface SomeObj : NSObject
diff --git a/clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm b/clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
index ddaa34d8ace45..c9d2fe861bb49 100644
--- a/clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
+++ b/clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
@@ -390,17 +390,20 @@ void foo() {
}
}
-#define YES 1
+#define YES __objc_yes
+#define NO 0
namespace call_with_cf_constant {
void bar(const NSArray *);
void baz(const NSDictionary *);
void boo(NSNumber *);
+ void boo(CFTypeRef);
void foo() {
CFArrayCreateMutable(kCFAllocatorDefault, 10);
bar(@[@"hello"]);
baz(@{@"hello": @3});
boo(@YES);
+ boo(@NO);
}
}
More information about the cfe-commits
mailing list