From patchwork Mon Mar 25 15:17:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: centurion X-Patchwork-Id: 1915693 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=proton.me header.i=@proton.me header.a=rsa-sha256 header.s=c72ozian5jc4zb6otsn5rjd5ki.protonmail header.b=Qs2Kmrhv; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4V3GlK1YR8z1yXy for ; Tue, 26 Mar 2024 02:17:48 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 85FCD385841D for ; Mon, 25 Mar 2024 15:17:46 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-4027.protonmail.ch (mail-4027.protonmail.ch [185.70.40.27]) by sourceware.org (Postfix) with ESMTPS id 089323858D3C for ; Mon, 25 Mar 2024 15:17:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 089323858D3C Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=proton.me Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=proton.me ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 089323858D3C Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=185.70.40.27 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711379837; cv=none; b=GHYs4JnyH5zQETpOfuJzAjwl5D+p86CB49cDOvHLwx8e7gb7S5kOm3Dn3d3OPybduCzGDJQ3woOWIktCFY/4c1/1bmsnSU84qMvCotdMPyTgp2+dISFFQne/D24tzULZafJPXMfmNHEUIwGustTN3O+Je5rNEMc6FjgM+RSQ0T8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711379837; c=relaxed/simple; bh=rG+ZG2tSep0gRYnf2GO/CYdSvZ4phrWSpC9BpHhMfhw=; h=DKIM-Signature:Date:To:From:Subject:Message-ID:MIME-Version; b=VyYv9yMoG62rlVM/Stq/g7yxJSsFvDyoVoOXHM03I5ZUZXIzy0K9Z+ywcfbWV/MNM9HoZbaE9UsgmidO8eFNAKjGp7wnjzL3A/Fzm04zvJpV8VXOjN9eq8OE4ytcOFe561awTD0zZQzc5upCM1Ov9cr1L3FsgAO7RxeSageiPfg= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=c72ozian5jc4zb6otsn5rjd5ki.protonmail; t=1711379834; x=1711639034; bh=DCxEYFP0UDdiBO5vi9wGYr0berOciEQNXST93djdRuY=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=Qs2KmrhvqAMHnEE5E/a6QQjPRmeG7GJ86s2WreO3vXG8awNAXs25OI9k4XwO12WVw 0+EE2G/wDFFz3l0+RRjORxvWXO/VbArHokMx6r0Bn+5VQ4itL3Vxg13iTLITkfXS7O rjTO2wa4Wqt3m4XP5oE1bpfZ21VZKkV4Nk9vJDer0b+/u6YWr3DextVaU/FIMVfQfG s1qwN0npAZnG0VDMtKXvVPNxgH3X4ZnKfWtq4XqTzPLwuM2ODKUVNDbwFDXrOJrT2d 19paaF3e+FVwV44bRSv7vgqvnOn7QgWZUOiqaHJaORUmytCJZ9vJ+6H8RnHA9Lm7pA +lUuk4KsHXJ3g== Date: Mon, 25 Mar 2024 15:17:01 +0000 To: "gcc-patches@gcc.gnu.org" From: centurion Subject: [PATCH] c++: fix alias CTAD [PR114377] Message-ID: Feedback-ID: 105035476:user:proton MIME-Version: 1.0 X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_INFOUSMEBIZ, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org From b34312d82b236601c348382d30e625558f37d40c Mon Sep 17 00:00:00 2001 From: centurion Date: Mon, 25 Mar 2024 01:57:21 +0400 Subject: [PATCH] c++: fix alias CTAD [PR114377] PR c++/114377 gcc/cp/ChangeLog: PR c++/114377 * pt.cc (find_template_parameter_info::found): Use TREE_TYPE for TEMPLATE_DECL instead of DECL_INITIAL. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/class-deduction-alias19.C: New test. --- gcc/cp/pt.cc | 3 ++- .../g++.dg/cpp2a/class-deduction-alias19.C | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/g++.dg/cpp2a/class-deduction-alias19.C diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc index 8cf0d5b7a8d..d8a02f1cd7f 100644 --- a/gcc/cp/pt.cc +++ b/gcc/cp/pt.cc @@ -11032,7 +11032,8 @@ find_template_parameter_info::found (tree parm) { if (TREE_CODE (parm) == TREE_LIST) parm = TREE_VALUE (parm); - if (TREE_CODE (parm) == TYPE_DECL) + if (TREE_CODE (parm) == TYPE_DECL + || TREE_CODE(parm) == TEMPLATE_DECL) parm = TREE_TYPE (parm); else parm = DECL_INITIAL (parm); diff --git a/gcc/testsuite/g++.dg/cpp2a/class-deduction-alias19.C b/gcc/testsuite/g++.dg/cpp2a/class-deduction-alias19.C new file mode 100644 index 00000000000..1ea79bd7691 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp2a/class-deduction-alias19.C @@ -0,0 +1,15 @@ +// PR c++/114377 +// { dg-do compile { target c++20 } } + +template