objective C binfos

Ziemowit Laski zlaski@apple.com
Tue Jun 29 17:22:00 GMT 2004


On 29 Jun 2004, at 3.06, Nathan Sidwell wrote:

> Ziemowit,
> I'm looking at BINFOs and I see that objc has the following #defines
> in objc-act.h,
> #define CLASS_IVARS(CLASS) TREE_VEC_ELT (TYPE_BINFO (CLASS), 0)
> #define CLASS_RAW_IVARS(CLASS) TREE_VEC_ELT (TYPE_BINFO (CLASS), 1)
> #define CLASS_STATIC_TEMPLATE(CLASS) TREE_VEC_ELT (TYPE_BINFO (CLASS), 
> 2)
> #define CLASS_CATEGORY_LIST(CLASS) TREE_VEC_ELT (TYPE_BINFO (CLASS), 3)
> #define CLASS_PROTOCOL_LIST(CLASS) TREE_VEC_ELT (TYPE_BINFO (CLASS), 4)
> #define CLASS_OWN_IVARS(CLASS) TREE_VEC_ELT (TYPE_BINFO (CLASS), 5)
>
> #define PROTOCOL_LIST(CLASS) TREE_VEC_ELT (TYPE_BINFO (CLASS), 0)
> #define PROTOCOL_FORWARD_DECL(CLASS) TREE_VEC_ELT (TYPE_BINFO (CLASS), 
> 1)
>
> Poking around the ObjC source it looks to me that these aren't being
> treated as *base* information, but merely a convenient place to hang
> additional class & protocol data off (rather than do something with
> type_lang_specific).  Is this the case, or have I missed something?

No, you are correct.  Feel free to change this if you like.  :-)

--Zem



More information about the Gcc mailing list