On Aug 6, 2012, at 17:37 , Fariborz Jahanian <[email protected]> wrote:
> > On Aug 6, 2012, at 5:09 PM, Jordan Rose wrote: > >> Why does this only warn under non-GC? > > I don't know. This is an old GCC option and brought it over as-is to clang. I > don't have the original gcc radar > to look for the rational. Could be that under GC it is safe to do direct > assignment while with the advent of > properties, users warn to catch such accesses and use the property syntax > which controls the ivar > access with its own APIs (think atomic vs non-atomic). The same is true under ARC, though. If this is a safety warning, it only really needs to be on for MRC and __unsafe_unretained ivars. I think it's more often a consistency thing, though: if you want Key-Value Observing to work right you have to use the properties. As a heuristic, people often access ivars directly in -init methods and in -dealloc, since properties may be overridden by subclasses. If we were going to split the difference on the warnings, it could be on by default everywhere except -init and -dealloc methods.
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
