This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
objective C binfos
- From: Nathan Sidwell <nathan at codesourcery dot com>
- To: zlaski at apple dot com
- Cc: gcc <gcc at gcc dot gnu dot org>
- Date: Tue, 29 Jun 2004 11:06:33 +0100
- Subject: objective C binfos
- Organization: CodeSourcery LLC
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?
Reusing a binfo in the way I think it's being used here is extremely
inconvenient.
nathan
--
Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC
nathan@codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk