Skip to content

Commit 705c658

Browse files
committed
[WebKit Static Analyzer] Treat WTFReportBacktrace as a trivial function. (llvm#108167)
Treat WTFReportBacktrace, which prints out the backtrace, as trivial.
1 parent 52b29a7 commit 705c658

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,7 @@ class TrivialFunctionAnalysisVisitor
397397
return true;
398398

399399
if (Name == "WTFCrashWithInfo" || Name == "WTFBreakpointTrap" ||
400+
Name == "WTFReportBacktrace" ||
400401
Name == "WTFCrashWithSecurityImplication" || Name == "WTFCrash" ||
401402
Name == "WTFReportAssertionFailure" || Name == "isMainThread" ||
402403
Name == "isMainThreadOrGCThread" || Name == "isMainRunLoop" ||

clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
void WTFBreakpointTrap();
77
void WTFCrashWithInfo(int, const char*, const char*, int);
88
void WTFReportAssertionFailure(const char* file, int line, const char* function, const char* assertion);
9+
void WTFReportBacktrace(void);
910

1011
void WTFCrash(void);
1112
void WTFCrashWithSecurityImplication(void);
@@ -334,6 +335,7 @@ class RefCounted {
334335
}
335336
unsigned trivial60() { return ObjectWithNonTrivialDestructor { 5 }.value(); }
336337
unsigned trivial61() { return DerivedNumber('7').value(); }
338+
void trivial62() { WTFReportBacktrace(); }
337339

338340
static RefCounted& singleton() {
339341
static RefCounted s_RefCounted;
@@ -506,6 +508,7 @@ class UnrelatedClass {
506508
getFieldTrivial().trivial59(); // no-warning
507509
getFieldTrivial().trivial60(); // no-warning
508510
getFieldTrivial().trivial61(); // no-warning
511+
getFieldTrivial().trivial62(); // no-warning
509512

510513
RefCounted::singleton().trivial18(); // no-warning
511514
RefCounted::singleton().someFunction(); // no-warning

0 commit comments

Comments
 (0)