From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12525 invoked by alias); 24 Jun 2014 11:40:39 -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 12436 invoked by uid 89); 24 Jun 2014 11:40:38 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-vc0-f174.google.com Received: from mail-vc0-f174.google.com (HELO mail-vc0-f174.google.com) (209.85.220.174) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Tue, 24 Jun 2014 11:40:36 +0000 Received: by mail-vc0-f174.google.com with SMTP id hy4so147674vcb.33 for ; Tue, 24 Jun 2014 04:40:34 -0700 (PDT) X-Received: by 10.52.185.72 with SMTP id fa8mr215550vdc.12.1403610034268; Tue, 24 Jun 2014 04:40:34 -0700 (PDT) MIME-Version: 1.0 Received: by 10.52.30.227 with HTTP; Tue, 24 Jun 2014 04:40:14 -0700 (PDT) In-Reply-To: <53A00249.6050003@maniacsvault.net> References: <53A00249.6050003@maniacsvault.net> From: Andrew Sutton Date: Tue, 24 Jun 2014 11:40:00 -0000 Message-ID: Subject: Re: [c++-concepts] Fix assertion failure with cp_maybe_constrained_type_specifier To: Braden Obrzut Cc: gcc-patches Content-Type: text/plain; charset=UTF-8 X-SW-Source: 2014-06/txt/msg01882.txt.bz2 Braden, Did you have a specific test case that causes this breakage? I have a feeling that if we're missing base-link nodes in one place, we'll miss them in others too. Andrew On Tue, Jun 17, 2014 at 4:54 AM, Braden Obrzut wrote: > cp_maybe_constrained_type_specifier asserted that the decl passed in would > be of type OVERLOAD, however a clean build of the compiler was broken since > it could also be a BASELINK. I'm not entirely sure when this is the case, > except that it seems to happen with class member templates as it also caused > a test case in my next patch to fail. The solution is to check for a > BASELINK and extract the functions from it. > > The possibility of decl being a BASELINK is asserted near the call in > cp_parser_template_id (cp_maybe_partial_concept_id just calls the function > in question at this time). > > 2014-06-17 Braden Obrzut > * gcc/cp/parser.c (cp_maybe_constrained_type_specifier): Fix assertion > failure if baselink was passed in as decl. >