This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [05/13] Add nofree_ptr_hash


On 06/25/2015 11:33 AM, Richard Sandiford wrote:
Jeff Law <law@redhat.com> writes:
On 06/25/2015 03:49 AM, Richard Biener wrote:
On Thu, Jun 25, 2015 at 5:19 AM, Jeff Law <law@redhat.com> wrote:
On 06/24/2015 02:23 AM, Richard Sandiford wrote:

Jeff Law <law@redhat.com> writes:

So I'm holding off on approving this one pending further discussion of
the use of multiple inheritance for nofree_ptr_hash.


I thought that might be controversial. :-)  My two main defences are:

1) This is multiple inheritance of traits classes, which all just have
      static member functions, rather than multiple inheritance of data-
      carrying classes.  It's really just a union of two separate groups
      of functions.

As I was thinking about this during review I almost convinced myself that
multiple inheritance from traits classes ought to be acceptable.

As you state, they don't carry data and we're just getting a union of their
functions.  One could probably even argue that traits classes by their
nature are designed to be composed with other traits and classes.

I'm (obviously) not as well versed in this stuff as I ought to be, hence my
conservatism.  It'd be real helpful if folks with more real world experience
in this space could chime in on the pros/cons if this approach.

If we do go forward, ISTM updating our coding conventions to codify this
exception to the "avoid MI" would be wise.  And my inclination is to go
forward, but let's give other folks a chance to chime in.

Yes, I think this is ok.
Works for me.  Richard S., as a follow-up can you update the coding
conventions, which I think it maintained in the ancient CVS repo for the
web pages (ping Gerald if you're unfamiliar with it).

OK, sounds good.  How does this look?
Looks good.  Thanks.

jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]