[cfe-dev] CFRefCount Problem #1: Receiver Aliasing

Jordy Rose jediknil at belkadan.com
Mon Aug 22 18:35:27 PDT 2011


On Aug 22, 2011, at 18:11, Robert Purves wrote:

> 
> Jordy Rose wrote:
> 
>> [Background: Currently we're trying to eliminate the concept of "transfer functions" from the static analyzer, which has gradually been supplanted by the Checker interface. The only implementation of the transfer functions, CFRefCount, has two roles: general-purpose function and method evaluator, and retain-count checking for the Cocoa and CoreFoundation frameworks. The former is being moved to ExprEngine*, the latter to a regular checker called RetainReleaseChecker.
> 
> I hope this does not mean downgrading the static analyzer. 
> It's extremely useful to find retain/release bugs simply by adding --analyze. 

No, no. We just want to make it so that the retain/release structure isn't tied in to the core of the analyzer. Right now the analyzer doesn't work at all without the retain/release checks, but there's no reason why it /has/ to be that way anymore. It'd be nice if the retain/release checking could be turned on and off like any other check -- pure C++ code, for example, shouldn't need to do this extra work.

I'm pretty sure RetainReleaseChecker will still be enabled by default, at least on Mac OS X.

Jordy



More information about the cfe-dev mailing list