From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6684 invoked by alias); 22 Jun 2013 23:43:53 -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 6672 invoked by uid 89); 22 Jun 2013 23:43:52 -0000 X-Spam-SWARE-Status: No, score=-3.9 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RP_MATCHES_RCVD autolearn=ham version=3.3.1 Received: from www.axiomatics.org (HELO mail.axiomatics.org) (66.228.53.191) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Sat, 22 Jun 2013 23:43:50 +0000 Received: by mail.axiomatics.org (Postfix, from userid 1000) id DBAF5ED5C; Sat, 22 Jun 2013 18:43:48 -0500 (CDT) From: Gabriel Dos Reis To: Andrew Sutton Cc: gcc-patches@gcc.gnu.org Subject: Re: [c++-concepts]: constraint association In-Reply-To: (Andrew Sutton's message of "Sat, 22 Jun 2013 18:04:01 -0500") References: <87ppvejcj7.fsf@euclid.axiomatics.org> <87sj0ayp9a.fsf@euclid.axiomatics.org> <87obaxzrdc.fsf@euclid.axiomatics.org> Date: Sat, 22 Jun 2013 23:43:00 -0000 Message-ID: <87k3lln22z.fsf@euclid.axiomatics.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2013-06/txt/msg01346.txt.bz2 Andrew Sutton writes: | > | But, I don't think we have a single TEMPLATE_PARM_DECL node. Template | > | parameters are either TYPE_DECLs or PARM_DECLs. I think auto | > | declarations, get VAR_DECLs, but I haven't looked closely at that | > | design. I'd have to look to see if there are any free tree slots all | > | of those decl nodes to minimize. | > | > The individual constraint for a template parameter should probably go | > with the TEMPLATE_PARM_INDEX which is the uniform representation of | > template parameters. But, the real cumulative constraints go with the | > TEMPLATE_DECLs. With Jason's patch that creates TEMPLATE_DECLs for | > partial instantiations, I believe we have all the bases covered. | | I have to look through the template parameter creation code, but that | sounds about right. build_template_parm -- the real (low-level) constructor process_template_parm -- higher-level interface to the parsing make_auto_1 -- for type of variables declared with 'auto'. -- Gaby