From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 610D23858D35 for ; Thu, 14 Dec 2023 17:54:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 610D23858D35 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 610D23858D35 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702576452; cv=none; b=e+QTrkGbHU3i2epw7d4OxpxP+BdFkvYSPBDK6LLc5GHF2AtGkCa/xXIKpuiiofkRYsQPSARjTm0Lze+rXtadB1e6c477dDfT1UF9o4z8rYoc0n0hbQqJ4/pRhth37uKYyxgivO9gAEaVZd6yOO2CjUWLduDs4jUk9IOAu0Qx5wA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702576452; c=relaxed/simple; bh=P24PsBLGPe1R1eEyzHzI09ASxf4N5Qr7C5TCYN1+dLc=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=ptq8nfnFAsLmdrZ4tgJIPt7hkPzILnEdtIhuz9MJHb1Eu0XL+EolZzZvbAclm/0PA9DnLFa7FZ5w4dAdZ5MhwS1I29+syO0Pd1rd01CJq6ixX7pXjkSw53VAKDi20ruQWOHIEkjEI0D7CkPg2K0s2/+WhVf2v+fx661H9okDZBk= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1702576451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=PtX0PO89lzXqpPjNLpsPaCc2f7FDC/OhGY8diu9O9tM=; b=CJQsPkniDjl/vlAj3aQJXW7jTfP0NpFiFEGkWFP70xbctRtpUsv4uStY4W6wGIhJd/rQtS UzZm9xGMxgy+oYPtQvKldToVdlA0tzJz00f2540d9oyzyjdtO7waMvGObuoRih3boB3EQ0 BbihwxBd6+XwAbBCz088NdTiGBKC+yU= Received: from mail-oi1-f199.google.com (mail-oi1-f199.google.com [209.85.167.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-57-X3nMNkxzME-p4PB-Bp73Yg-1; Thu, 14 Dec 2023 12:54:07 -0500 X-MC-Unique: X3nMNkxzME-p4PB-Bp73Yg-1 Received: by mail-oi1-f199.google.com with SMTP id 5614622812f47-3b9d5d9e7fcso12818664b6e.0 for ; Thu, 14 Dec 2023 09:54:07 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702576447; x=1703181247; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PtX0PO89lzXqpPjNLpsPaCc2f7FDC/OhGY8diu9O9tM=; b=Rh1bnFyhLyflFgXRGW/XIukxq6xdJFfrdTZ2l6gzhdLO6/emNdqQetPUZbl8WPTXqq vz/w6ffFYKRDDuPvcsokhkTR7gNgJmRwbLY12hnvugAzHJJDzgbGFBLTeBvMtZyfoNeU TU98BsILkPTGwPcSAGC7tYEY2E/m3W1WJE1iz45DZPGnMj4lcRVjotKU2sm6otOqI86Y T90z3k+2Z/hlVnBhEYN01yXAfHFJRQjsr/GQLJWJqr/roBb1JNb/vCjsjafGdhTm7fvv UKOWdSq4upxf6YqvTcP2471SkzIJqUGE/xCEbcAgouVgRhGxU4tEaZCcfsk5evtRVx+J WndA== X-Gm-Message-State: AOJu0YydkuRSZ1oiygw2NAR1J68PPNnL4zRivurGRdAG2q2U/06w1fAa 4tiaGy0U2ePCvg/jmXZi3EuyYDFmsqEnXKsl+IZYBVOo5l6Tu9dOF6o2HV5yh5lo17H9JmCjKdU m1x9337UtV/A6iG+gRg== X-Received: by 2002:a05:6808:22a6:b0:3ba:380:87ad with SMTP id bo38-20020a05680822a600b003ba038087admr9942408oib.99.1702576447007; Thu, 14 Dec 2023 09:54:07 -0800 (PST) X-Google-Smtp-Source: AGHT+IGufFtLfg8+HuJt6bVrzsaYt66eTHUbXUDs04NB54cVYJdjSxBjlNMSPw+Prr8eOxRDvL8HBg== X-Received: by 2002:a05:6808:22a6:b0:3ba:380:87ad with SMTP id bo38-20020a05680822a600b003ba038087admr9942401oib.99.1702576446753; Thu, 14 Dec 2023 09:54:06 -0800 (PST) Received: from redhat.com (2603-7000-9500-34a5-0000-0000-0000-1db4.res6.spectrum.com. [2603:7000:9500:34a5::1db4]) by smtp.gmail.com with ESMTPSA id p7-20020a05620a112700b00765aa3ffa07sm5466045qkk.98.2023.12.14.09.54.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Dec 2023 09:54:06 -0800 (PST) Date: Thu, 14 Dec 2023 12:54:04 -0500 From: Marek Polacek To: Jason Merrill Cc: Patrick Palka , gcc-patches@gcc.gnu.org Subject: Re: [PATCH] c++: Implement P2582R1, CTAD from inherited constructors Message-ID: References: <20231122220731.1121607-1-ppalka@redhat.com> <929e7ef7-696d-a268-f3ee-8210968389e9@idea> <12929fa1-59fb-4cbf-9871-56d134413c1c@redhat.com> MIME-Version: 1.0 In-Reply-To: <12929fa1-59fb-4cbf-9871-56d134413c1c@redhat.com> User-Agent: Mutt/2.2.10 (2023-03-25) X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,RCVD_IN_SORBS_WEB,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Wed, Dec 13, 2023 at 08:48:49PM -0500, Jason Merrill wrote: > On 11/27/23 10:58, Patrick Palka wrote: > > gcc/cp/ChangeLog: > > > > * cp-tree.h (type_targs_deducible_from): Adjust return type. > > * pt.cc (alias_ctad_tweaks): Handle C++23 inherited CTAD. > > (inherited_ctad_tweaks): Define. > > (type_targs_deducible_from): Return the deduced arguments or > > NULL_TREE instead of a bool. Handle 'tmpl' being a TREE_LIST > > representing a synthetic alias template. > > (ctor_deduction_guides_for): Do inherited_ctad_tweaks for each > > USING_DECL in C++23 mode. > > (deduction_guides_for): Add FIXME for stale cache entries in > > light of inherited CTAD. > > check_GNU_style.py notices a few too-long lines in comments: > > > === ERROR type #2: lines should not exceed 80 characters (3 error(s)) === > > gcc/cp/pt.cc:30076:80: /* FIXME this should mean they don't compare as equivalent. */ > > gcc/cp/pt.cc:30138:80: class template TMPL; adjust the base's guides be deduction guides for TMPL. */ > > gcc/cp/pt.cc:30190:80: /* If tmpl is a class template, this is trivial: it's deducible if TYPE is a > > OK with those fixed. > > index 4624794c4b7..74f92325d7a 100644 > > --- a/gcc/testsuite/g++.dg/cpp1z/class-deduction67.C > > +++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction67.C > > @@ -1,5 +1,4 @@ > > -// Deduction from inherited constructors isn't supported yet, but we shouldn't > > -// crash. It may well be supported in C++23. > > +// Deduction from inherited constructors isn't supported before C++23. > > //{ dg-do compile { target c++17 } } > > @@ -17,5 +16,5 @@ int main() > > { > > B b = 42; // { dg-line init } > > // { dg-prune-output "no matching function" } > > - // { dg-error "class template argument deduction" "" { target *-*-* } init } > > + // { dg-error "class template argument deduction" "" { target c++23_down } init } > > } I checked in this patch: -- >8 -- The test says that CTAD from inherited constructors doesn't work before C++23 so we should use c++20_down for the error. gcc/testsuite/ChangeLog: * g++.dg/cpp1z/class-deduction67.C: Correct dg-error target. --- gcc/testsuite/g++.dg/cpp1z/class-deduction67.C | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction67.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction67.C index 74f92325d7a..fa1523d99d5 100644 --- a/gcc/testsuite/g++.dg/cpp1z/class-deduction67.C +++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction67.C @@ -16,5 +16,5 @@ int main() { B b = 42; // { dg-line init } // { dg-prune-output "no matching function" } - // { dg-error "class template argument deduction" "" { target c++23_down } init } + // { dg-error "class template argument deduction" "" { target c++20_down } init } } base-commit: e5e1999aa664333f766f3e6cc6996f769d50ae7a -- 2.43.0