From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19927 invoked by alias); 26 Oct 2018 08:53: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 3988 invoked by uid 89); 26 Oct 2018 08:51:12 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=CLASS_TYPE_P, H*f:sk:b119ff9, typename_type, TYPENAME_TYPE X-HELO: userp2120.oracle.com Received: from userp2120.oracle.com (HELO userp2120.oracle.com) (156.151.31.85) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 26 Oct 2018 08:51:10 +0000 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w9Q8i32N182636; Fri, 26 Oct 2018 08:50:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : references : from : cc : message-id : date : mime-version : in-reply-to : content-type : content-transfer-encoding; s=corp-2018-07-02; bh=Q4pLFbdkfC+uxp6apLCf90DlLLOYAp4XUzKNFjqJlnU=; b=HM2/vWy67e5TcQ7pjs3AId+qHi3fnpbPPozRSuMvK1HAugdUza8HoHIGx8MNufb6f69Y uPClzmciApTqVKsBNW7OZSB9nZaFMwJsS8ekqlJXMQ/uUSiHGKXGF3ID3keiCD/qN3Sz XI2tlw7LzUdbqIW5gK7yWqUFyifWF6NGY0C+IXLvSyOp+UyCe0HfUxN8t3TcbsRBrMsX U3tmhYAt/bv6ZxMSj5SqzFUKJjIW/QQkV3OkRtpex3p9Dx+slIi4jZuezCKPqzXJLch1 qXPhkhnIYbAu/bqj6V6YcnBBxak5lSo4C5S69iO5iWPsiRY8KqZ92Njy2fBYEUhK6vXc UA== Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by userp2120.oracle.com with ESMTP id 2n7w0r626y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 26 Oct 2018 08:50:56 +0000 Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id w9Q8ouog006764 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 26 Oct 2018 08:50:56 GMT Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id w9Q8otu8015614; Fri, 26 Oct 2018 08:50:56 GMT Received: from [192.168.1.4] (/87.10.221.76) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 26 Oct 2018 01:50:55 -0700 Subject: Re: [C++ Patch] PR 84644 ("internal compiler error: in warn_misplaced_attr_for_class_type, at cp/decl.c:4718") To: gcc-patches@gcc.gnu.org References: From: Paolo Carlini Cc: Jason Merrill , Nathan Sidwell Message-ID: <4c6fe735-5435-1ede-a85a-787262a7e63c@oracle.com> Date: Fri, 26 Oct 2018 09:37:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2018-10/txt/msg01678.txt.bz2 Hi, On 24/10/18 22:41, Jason Merrill wrote: > On 10/15/18 12:45 PM, Paolo Carlini wrote: >>         && ((TREE_CODE (declspecs->type) != TYPENAME_TYPE >> +       && TREE_CODE (declspecs->type) != DECLTYPE_TYPE >>          && MAYBE_CLASS_TYPE_P (declspecs->type)) > > I would think that the MAYBE_CLASS_TYPE_P here should be CLASS_TYPE_P, > and then we can remove the TYPENAME_TYPE check.  Or do we want to > allow template type parameters for some reason? Indeed, it would be nice to just use OVERLOAD_TYPE_P. However it seems we at least want to let through TEMPLATE_TYPE_PARMs representing 'auto' - otherwise Dodji's check a few lines below which fixed c++/51473 doesn't work anymore - and also BOUND_TEMPLATE_TEMPLATE_PARM, otherwise we regress on template/spec32.C and template/ttp22.C because we don't diagnose the shadowing anymore. Thus, I would say either we keep on using MAYBE_CLASS_TYPE_P or we pick what we need, possibly we add a comment? Thanks, Paolo.