From patchwork Sat Nov 9 08:23:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nathaniel Shead X-Patchwork-Id: 2008872 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; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=Or2N80E2; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; 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 [8.43.85.97]) (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 4XlpkS3ddwz1xyr for ; Sat, 9 Nov 2024 19:24:16 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B17233858C42 for ; Sat, 9 Nov 2024 08:24:14 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com [IPv6:2607:f8b0:4864:20::102a]) by sourceware.org (Postfix) with ESMTPS id 083093858D20 for ; Sat, 9 Nov 2024 08:23:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 083093858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 083093858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::102a ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1731140636; cv=none; b=Rx6mHTORCVeZNzaMgHcC2F/H+lrUVGL37DI/iu06MwXK1Knxzke3E4u5aNtYkXCctTT37/J+nzEwgncWeXe4DyhG2xCp0jw566JlSrdOykhbB67GSL8weHP61GdXRysRSK/J1rxZipUa7meAm/noCtdArgo26N6dQsBqClX7Nqo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1731140636; c=relaxed/simple; bh=GRXTxcDY1VprmimS6FaAx9T6LIp+D15Ok4K1PUPLZRc=; h=DKIM-Signature:Message-ID:Date:From:To:Subject:MIME-Version; b=HMqryfdqL43nBOOyXvcfnx9XLDASFHvxs3CLHB1rTRPtnqvPXjBY171sTxf8/b3PEoaw3lBNg0Jjl3zXmAGf8QxPvvO6GVV8z5ZRC1f7MCgL0L4lstbmBQbxSNOsf2nFifIhgZUGGBIL/vxDNqcqd0aiLmZQaXD2c04gaea8wd0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pj1-x102a.google.com with SMTP id 98e67ed59e1d1-2e56750bb13so392281a91.2 for ; Sat, 09 Nov 2024 00:23:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731140633; x=1731745433; darn=gcc.gnu.org; h=in-reply-to:content-disposition:mime-version:references:subject:cc :to:from:date:message-id:from:to:cc:subject:date:message-id:reply-to; bh=p9cZvBByv6i4YPxo5NQcgXM9VzM6LKu94lt6UdDzMQw=; b=Or2N80E2uWGi+jojcvhC29lj30KKvlFHcZDxMqgybgWIQDi/uOttGb1j3+lk6ZVuij LuyapWf5GQVVcVZWVqmQYDXJkmm0w7WAhguAfzWAfCLiOwgO//MfUcPugy54OjJ50Fpy 19F8e+GrEBhtaKPLHnT2iOvy4aXcMMzsupfcqQO5NmxJjHv5mGsO/OsT0mKRyvoQg66+ OS4HEDo04j0pmUs2KDx9lIfSnxPLRCsv42Y3BaNQ/9jthSy3iOfz76cRyYOtH4aMbnPq HTMl1PTdITPfuOQfJR95B2zjHwcueQ2CI51dR+1KPkLIcEjFYsqKgjp2bD+y0jBxZyN5 HW5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731140633; x=1731745433; h=in-reply-to:content-disposition:mime-version:references:subject:cc :to:from:date:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=p9cZvBByv6i4YPxo5NQcgXM9VzM6LKu94lt6UdDzMQw=; b=l3UsahP2gWLeUbWE+iDJELAmAewJZ9uWaAnx36K/sFWr44VzGZcKpLeUlXxJA2Ac9d mTXhfEUS5gZeJbSOuePuPWM+z7mY9z+BuRa/xqswLHzVv81EnZ3NvZLnHaieuW/n6bqR aJcmrTvgKBAG+vAxOf9HzjMcopucteEJZ9sSpGxacMJnuAou6tx3/oXwKFOvyTwxbK8d aE/fBrl+E6bzMzFiLTje3/WU0lvdOEFpH8A+hH728L4UVgT+XXlD+3UGzVSYetthKu2z Zv69geKv/GUoEhmy5BIddI1JZh/9Lwxd+/9zBNN10KhPHLsaDml/1egWdq/zfUn8Su4a XBgA== X-Gm-Message-State: AOJu0YwYnP8nM/zgF9pBMprSCs1aoJo6ZFPTT4vWa2KKCW1hdmVqnYyc Blj+WLKBqLR9lWYInfLLSOljjWjfa16I6TlZModXfWtUixWHrYLAWOo+CA== X-Google-Smtp-Source: AGHT+IEjVfaGSRlBGn5uxxRUbIrAdRY5X3FntWAlM9PBJzFFmsUQ5LzJpNvadDaOvRkjb0oQM1OGlQ== X-Received: by 2002:a17:902:ecd0:b0:20e:5777:b6f9 with SMTP id d9443c01a7336-21183573665mr33090365ad.10.1731140632754; Sat, 09 Nov 2024 00:23:52 -0800 (PST) Received: from Thaum. ([163.47.68.2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21177e4a154sm41129325ad.126.2024.11.09.00.23.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 Nov 2024 00:23:52 -0800 (PST) Message-ID: <672f1c18.170a0220.e2dd2.5300@mx.google.com> X-Google-Original-Message-ID: Date: Sat, 9 Nov 2024 19:23:48 +1100 From: Nathaniel Shead To: gcc-patches@gcc.gnu.org Cc: Jason Merrill Subject: [PATCH v2 2/3] c++: Update mangling of lambdas in expressions References: <672f1bca.050a0220.1f2cda.8a47@mx.google.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <672f1bca.050a0220.1f2cda.8a47@mx.google.com> 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 Bootstrapped and regtested on x86_64-pc-linux-gnu, OK for trunk? -- >8 -- https://github.com/itanium-cxx-abi/cxx-abi/pull/85 clarifies that mangling a lambda expression should use 'L' rather than "tl". gcc/cp/ChangeLog: * mangle.cc (write_expression): Update mangling for lambdas. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/lambda-generic-mangle1.C: Update mangling. * g++.dg/cpp2a/lambda-generic-mangle1a.C: Likewise. Signed-off-by: Nathaniel Shead --- gcc/cp/mangle.cc | 2 +- gcc/testsuite/g++.dg/cpp2a/lambda-generic-mangle1.C | 2 +- gcc/testsuite/g++.dg/cpp2a/lambda-generic-mangle1a.C | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/cp/mangle.cc b/gcc/cp/mangle.cc index 4d46c0917a9..42fcdc34353 100644 --- a/gcc/cp/mangle.cc +++ b/gcc/cp/mangle.cc @@ -3761,7 +3761,7 @@ write_expression (tree expr) equivalent. So just use the closure type mangling. */ - write_string ("tl"); + write_char ('L'); write_type (LAMBDA_EXPR_CLOSURE (expr)); write_char ('E'); } diff --git a/gcc/testsuite/g++.dg/cpp2a/lambda-generic-mangle1.C b/gcc/testsuite/g++.dg/cpp2a/lambda-generic-mangle1.C index 0051307f53d..306959a4f9f 100644 --- a/gcc/testsuite/g++.dg/cpp2a/lambda-generic-mangle1.C +++ b/gcc/testsuite/g++.dg/cpp2a/lambda-generic-mangle1.C @@ -6,4 +6,4 @@ struct C { void f(decltype([](T, auto) { return 0; })) {} }; void g() { C().f({}); } -// { dg-final { scan-assembler "_ZN1C1fIiEEvDTtlNS_UlT_TL0__E_EEE" } } +// { dg-final { scan-assembler "_ZN1C1fIiEEvDTLNS_UlT_TL0__E_EEE" } } diff --git a/gcc/testsuite/g++.dg/cpp2a/lambda-generic-mangle1a.C b/gcc/testsuite/g++.dg/cpp2a/lambda-generic-mangle1a.C index dc7b0125631..b7bd4ecdd46 100644 --- a/gcc/testsuite/g++.dg/cpp2a/lambda-generic-mangle1a.C +++ b/gcc/testsuite/g++.dg/cpp2a/lambda-generic-mangle1a.C @@ -7,4 +7,4 @@ struct C { void f(decltype([](T, auto) { return 0; })) {} }; void g() { C().f({}); } -// { dg-final { scan-assembler "_ZN1C1fIiEEvDTtlNS_UlT_T_E_EEE" } } +// { dg-final { scan-assembler "_ZN1C1fIiEEvDTLNS_UlT_T_E_EEE" } }