On Feb 18, 2013, at 4:45 PM, jahanian <fjahan...@apple.com> wrote:

> I don't see how data().IvarList is updated for class extensions. This is the 
> scenario I am thinking.
> 
> 1) all_declared_ivar_begin is called when only primary class is seen ( there 
> are yet not class extensions).
>    so data().IvarLis is updated to hold  list of ivars in primary class.
> 
> 2) Then a class extensions is declared and whose  debug info. is needed. So, 
> all_declared_ivar_begin is called
>     again. This time, however, data().IvarList is non-empty and you don't go 
> through list of ivars in class
>     extensions to add them to data().IvarList.

The reason why this works is that ObjCIvarDecl::Create() invalidates the ivar 
cache every time a new ivar is declared (in an extension). I commented this 
behavior in the revision attached to my other mail.

-- adrian
_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to