[Webkit-unassigned] [Bug 26630] New: Annotate WTF assertion methods to prevent false-positives from clang static analyzer

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jun 22 16:15:33 PDT 2009


           Summary: Annotate WTF assertion methods to prevent false-
                    positives from clang static analyzer
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Macintosh
               URL: http://clang-
        OS/Version: Mac OS X 10.5
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Web Template Framework
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: ddkilzer at webkit.org
                CC: mrowe at apple.com

When using the clang static analyzer on C and Objective-C source code that uses
ASSERT() macros, the following false-positive issue is reported:

source.m:7:5: warning: Called function pointer is a null or undefined pointer
Assertions.h:165:9: note: instantiated from:
         CRASH(); \
Assertions.h:134:5: note: instantiated from:
     ((void(*)())0)(); /* More reliable, but doesn't say BBADBEEF */ \
1 diagnostic generated.

The fix is to annotate the WTFReport*() methods in Assertions.h with an
attribute that tells the clang static analyzer that this method effectively
never returns.  That, in turn, prevents the false positive issue in the CRASH()
macro from being emitted.  This has the desired effect of squelching the false

See the URL for more details about this custom annotation and how it's used by
the clang static analyzer.

Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

More information about the webkit-unassigned mailing list