From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Blandy To: David Taylor Cc: gdb-patches@sources.redhat.com, Anthony Green Subject: Re: RFA: abstract C++ ABI dependencies Date: Tue, 24 Apr 2001 15:33:00 -0000 Message-id: References: <200104241926.PAA27063@houston.candd.org> X-SW-Source: 2001-04/msg00226.html Thanks for reading so carefully (and promptly!). I thought I'd been careful, but clearly there's a bunch of stuff botched. I'll post a revision in a bit. I've answered your questions below. David Taylor writes: > cp-abi.h -- includes defs.h and value.h; this is contrary to the value > of the macro definition of cp_abi_h in Makefile.in. > > While I dislike having include files include other include files and I > don't wish to reopen that debate, I must ask -- why does cp-abi.h > include defs.h? > > Your definition of cp_abi_h is simply cp-abi.h -- however, cp-abi.h > includes other header files -- OOPS! I share your preference. In the next rev of this patch, cp-abi.h will no longer #include any other files. > 2001-04-24 Jim Blandy > > (Changes from Daniel Berlin, with revisions by Jim Blandy.) > > Abstract out operations specific to particular C++ ABI's, and > invoke them through a function table. This removes the C++ ABI > dependencies scattered throughout the code, and allows us to > cleanly add support for new C++ ABI's. > > * cp-abi.h, cp-abi.h, gnu-v2-abi.c, hpacc-abi.c: New files. > > *NONE* of these files initialize the rtti_type field within the > cp_abi_ops structure; they all let it default to 0. > > * c-typeprint.c, c-valprint.c, dbxread.c, eval.c, gdbtypes.c, > jv-typeprint.c, linespec.c, symtab.c, typeprint.c, valops.c: > #include "cp-abi.h". > > For c-valprint.c, eval.c, typeprint.c, and valops.c, it is unclear to > me why you are including cp-abi.h. Because they use functions which used to be declared elsewhere, but are now declared in cp-abi.h. I've clarified the ChangeLog entry.