[cfe-dev] Missing dealloc analysis

Nikita Zhuk nikita at zhuk.fi
Wed Jul 2 22:35:43 PDT 2008


I noticed the addition of missing dealloc analysis in r53075. It's a  
good idea to check that dealloc is implemented and that it always  
calls [super dealloc], but there're couple of points I would like to  
mention:

1. It should be disabled in GC environment, because dealloc methods  
are not called under GC

2. In non-GC environment, the primary function of dealloc method is to  
update retain counts of variables the object being dealloced is  
pointing to. So that usually means that dealloc must be implemented  
when an object has some ivars. Dealloc is not always required, and  
there're lot of classes which don't need it (e.g. singleton classes).  
Currently missing dealloc analysis requires every class to implement  
dealloc and it's causing a lot of false positives.

I'm not completely sure if absence of ivars should be the only factor  
which disables missing dealloc analysis, but at least in my case it  
would suppress a lot of false positives.





More information about the cfe-dev mailing list