From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 94494 invoked by alias); 25 Jun 2015 16:31:46 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 94222 invoked by uid 89); 25 Jun 2015 16:31:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Thu, 25 Jun 2015 16:31:44 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id AE0A9C9431; Thu, 25 Jun 2015 16:31:43 +0000 (UTC) Received: from localhost.localdomain (ovpn-113-49.phx2.redhat.com [10.3.113.49]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t5PGVhTj025687; Thu, 25 Jun 2015 12:31:43 -0400 Message-ID: <558C2CEE.2010803@redhat.com> Date: Thu, 25 Jun 2015 16:33:00 -0000 From: Jeff Law User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Richard Biener CC: "gcc-patches@gcc.gnu.org" , richard.sandiford@arm.com Subject: Re: [05/13] Add nofree_ptr_hash References: <87fv5s2gej.fsf@e105548-lin.cambridge.arm.com> <87twu8118n.fsf@e105548-lin.cambridge.arm.com> <5589D173.8050508@redhat.com> <87ioadsefa.fsf@e105548-lin.cambridge.arm.com> <558B732B.4040700@redhat.com> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2015-06/txt/msg01831.txt.bz2 On 06/25/2015 03:49 AM, Richard Biener wrote: > On Thu, Jun 25, 2015 at 5:19 AM, Jeff Law wrote: >> On 06/24/2015 02:23 AM, Richard Sandiford wrote: >>> >>> Jeff Law 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). Jeff