Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2224970/?format=api
{ "id": 2224970, "url": "http://patchwork.ozlabs.org/api/patches/2224970/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260420050510.1228393-1-andrew.pinski@oss.qualcomm.com/", "project": { "id": 17, "url": "http://patchwork.ozlabs.org/api/projects/17/?format=api", "name": "GNU Compiler Collection", "link_name": "gcc", "list_id": "gcc-patches.gcc.gnu.org", "list_email": "gcc-patches@gcc.gnu.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260420050510.1228393-1-andrew.pinski@oss.qualcomm.com>", "list_archive_url": null, "date": "2026-04-20T05:05:10", "name": "c++: Fix handling of && after a class definition [PR65271]", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "6e961c2b5a5c952276a3b0f1d68777ad2536bbb7", "submitter": { "id": 91428, "url": "http://patchwork.ozlabs.org/api/people/91428/?format=api", "name": "Andrew Pinski", "email": "andrew.pinski@oss.qualcomm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260420050510.1228393-1-andrew.pinski@oss.qualcomm.com/mbox/", "series": [ { "id": 500550, "url": "http://patchwork.ozlabs.org/api/series/500550/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=500550", "date": "2026-04-20T05:05:10", "name": "c++: Fix handling of && after a class definition [PR65271]", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/500550/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2224970/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2224970/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "gcc-patches@gcc.gnu.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "gcc-patches@gcc.gnu.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=lukngkKw;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=UQCxvdFU;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=38.145.34.32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)", "sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=lukngkKw;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=UQCxvdFU", "sourceware.org; dmarc=none (p=none dis=none)\n header.from=oss.qualcomm.com", "sourceware.org;\n spf=pass smtp.mailfrom=oss.qualcomm.com", "server2.sourceware.org;\n arc=none smtp.remote-ip=205.220.168.131" ], "Received": [ "from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fzYNR1dwjz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 15:05:57 +1000 (AEST)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id EB7814AA51FC\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 05:05:53 +0000 (GMT)", "from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com\n [205.220.168.131])\n by sourceware.org (Postfix) with ESMTPS id 9225E4C900C5\n for <gcc-patches@gcc.gnu.org>; Mon, 20 Apr 2026 05:05:21 +0000 (GMT)", "from pps.filterd (m0279865.ppops.net [127.0.0.1])\n by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63K0cXqH2379609\n for <gcc-patches@gcc.gnu.org>; Mon, 20 Apr 2026 05:05:20 GMT", "from mail-pg1-f197.google.com (mail-pg1-f197.google.com\n [209.85.215.197])\n by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dm0wr47u2-1\n (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n for <gcc-patches@gcc.gnu.org>; Mon, 20 Apr 2026 05:05:20 +0000 (GMT)", "by mail-pg1-f197.google.com with SMTP id\n 41be03b00d2f7-c79281bd14cso835120a12.3\n for <gcc-patches@gcc.gnu.org>; Sun, 19 Apr 2026 22:05:20 -0700 (PDT)", "from xeond2.wrightpinski.org ([98.97.34.2])\n by smtp.gmail.com with ESMTPSA id\n d9443c01a7336-2b5fab0cf81sm89150645ad.43.2026.04.19.22.05.18\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Sun, 19 Apr 2026 22:05:18 -0700 (PDT)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org EB7814AA51FC", "OpenDKIM Filter v2.11.0 sourceware.org 9225E4C900C5" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org 9225E4C900C5", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org 9225E4C900C5", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776661521; cv=none;\n b=uP5GmpWFH/i+IDhP+5JDsRy4Bt0IW4z3gJVggsJsK4v+Dm+0bz47gFnvp+mOvMU/VtKq8yTujy4sysv1Ur/2OxoDc+mKT9JfX4ARcIZWMBjH4G3aWokp5xMJU8nCbOZOCQ40TL5kDqIuNjrQg1Mik50tZuclCwAhX40Zo3oyjWM=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776661521; c=relaxed/simple;\n bh=lHAG6wGs+dsx3HsDZS+uZ37IUSphSGSwmz08AGaIuh0=;\n h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID:\n MIME-Version;\n b=R+/ybPpgUewZUxba2o0Yap9XU1RTwVLHCOSW4ADJD0mhdDI0xiBY1naI/QVOjk8sNja1sVBkM9DLWhCS9e4zlf00rTCaAyImlxwDY8aO478uDKeAslLXD1o2FY1uSsnSLHHYSSDiVMquxy7jVhUjMchjGSUx2oEOuLMLvjYTU/o=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n cc:content-transfer-encoding:date:from:message-id:mime-version\n :subject:to; s=qcppdkim1; bh=VSZLCFd3ZlKj0h7m3RxXAyQM3IZ7qd1GDEn\n gWwoi6B0=; b=lukngkKw7p1MoeoMbs9DPjnOO8ONvr2NQDXPW8NdZRs5iV0DXYH\n f7XQZfucvcO0ZotVN3OxnqNnvqeoBy3ExtSKWVHxYED7by26FWv7QEeBl04U04HT\n 20iGGsr9DswmT82HTUurrm2DLikoTItvAEHGO3ygs5jBRygQBhLCCBkWuBf2w9dB\n WLo1uc8G7ZLiMx1oX8lOiSzm9jV6qJQ1x/qRkVkjdhykxiWi38oQLlFMJ21AfKfn\n 5ygdUjy6XhyXbDhylMb9803WnFa8Avs4ObtO75T4d1slrKgLYvZmyI/Vbn1AP0yT\n m8R3Gbo9iknkOLvmxmE99AWub/PyaDBU+9w==", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oss.qualcomm.com; s=google; t=1776661519; x=1777266319; darn=gcc.gnu.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=VSZLCFd3ZlKj0h7m3RxXAyQM3IZ7qd1GDEngWwoi6B0=;\n b=UQCxvdFUA1HbiMcskKiomdVRonEaE5MnMl7ysE6M2+MEGQFQKkR0wWqwk2k4w/2z4e\n XPLwidS9/9aeOCMl4irRcgs8qTevoeDbk/yw05HZ9P8uYXOU8rBMmiWyA5SI1vdiDqfJ\n 5RrpTZ/9CSqysLyFX/vUNRU54QM26MSys3xJSZHCtLCfZ0m7U+IMO2gbVY+0/wxGC3SG\n tK21GHjPKuBjIWJQqUjQSoChY8Gc+IRQZqazX7ljOe1S6JXAevpacH7c8PRLWKW3US4j\n TMEKTgQbA/46MWm6GUK8TEdnd5tUMrfv7pyBbJ666Phpu8O7v79IKXFu3W8A4o6XYFZF\n SzHQ==" ], "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776661519; x=1777266319;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=VSZLCFd3ZlKj0h7m3RxXAyQM3IZ7qd1GDEngWwoi6B0=;\n b=l2ezbydpjcAKwgYe19rtr4f9qaDFwFvy9QWtlwnV6nsa6bIObhcU3v0CPs3wnMTLwt\n +a/oh6/YomZH4IukSWlA7u+b+vXpe+pURc58NSDYrypck7eOAN0lpWs0wndrA8/cZhH/\n qg4KFSjycCNXLShAZ0YtOaYZnzU4LwS/JJlY3ZXGEfeJm6hTn+apYeXf0d4TStJnVZ9P\n KyQjzz34saySxYddkjCzr7azqzcA1IEP01Wf8kuV6C2lZH8XOxLwAAwpeLPWRnDeW9sA\n n+4MPHMIjAQgc5ioYiioJEURLyagl9C373kQW9gKmVIX+4HcgfV/vXYRvpTJiAVyqi7G\n j3vQ==", "X-Gm-Message-State": "AOJu0Yw9Cl+M17yC7cRKBnVnWPftIsjxct6DpZmgNEtLyQt7bw6VfzTq\n p819IW/NTPhhkXbo82F1POu4Q63duhGu33Sc6FYmQsAAtj3hk5UEcQavuASSVFaXFjx5IYcbnWA\n bKwOhuASNsIjbev7V8X8jyhRZ00098hmIkk0IdBI/mHApcadrZ5c2P3PVAwNVIDKF5UwV", "X-Gm-Gg": "AeBDieuAxq9JwcKyeyw2B5ANxiKpGYn4uawWGJPEvHIL/TcVii5OE71uJqBT3qW3508\n 4qziEJeKAJXMmBooAzGyr2Sch6y6CmHxOMmXTWnwRusuOQLMvU672v4WJx/YenVNLIYdqM10Hb1\n iZcYAiT8I3t5lJri0bj5i4xRN8NjQoQu98+PpTuRkm9IA8p4yEMsxzu8ZrPYXTpNt7HkIShvWNu\n 7lqFbimBLeeSxRiO0/7/518P64Ps9yQw6SSkC04oDUYoszhdMLYGay5tfNnFeeezL5QPdbj1cSy\n Ck7rjSJiYnAb6rOgrPfek1btkje6Jl2i7WSKF2/itkd8VyxashD1vm0AnTeFunZnnS5KPgpW6J0\n uK8QHLzhiwZHga1vO2aO4gYFH3fuNIouA/37L9Sy4FqNakXaTPY5SYStb", "X-Received": [ "by 2002:a17:902:d50b:b0:2b4:6470:760d with SMTP id\n d9443c01a7336-2b5f9e8e436mr127011915ad.14.1776661519397;\n Sun, 19 Apr 2026 22:05:19 -0700 (PDT)", "by 2002:a17:902:d50b:b0:2b4:6470:760d with SMTP id\n d9443c01a7336-2b5f9e8e436mr127011635ad.14.1776661518893;\n Sun, 19 Apr 2026 22:05:18 -0700 (PDT)" ], "From": "Andrew Pinski <andrew.pinski@oss.qualcomm.com>", "To": "gcc-patches@gcc.gnu.org", "Cc": "Andrew Pinski <andrew.pinski@oss.qualcomm.com>", "Subject": "[PATCH] c++: Fix handling of && after a class definition [PR65271]", "Date": "Sun, 19 Apr 2026 22:05:10 -0700", "Message-ID": "<20260420050510.1228393-1-andrew.pinski@oss.qualcomm.com>", "X-Mailer": "git-send-email 2.43.0", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNDIwMDA0NCBTYWx0ZWRfX38tK2ZNfqjUn\n sBpGuibg5jACozYGpWO9tsoRzDGq1Ghq9jbVtSRcS3pL7EcqJ9/QnhhitgFyLx6OsEEqQCAyYlK\n d5MeeaYqhsIn/X26LeCAdRDRwZny+8x7W5+hLBNJEPWSqrukp/B+sIsIr/nhsren18AakfFoh5n\n swVByIIkMTYhUfDx0P3UUXtUc87sifD0n3+9SAUY/zgUrIJk8qVWhaf93mkUx63S7GWWLZWEJnT\n 5yuyIX/cPvHCYF13/8uAJqqgQvWhN3Vh3L5iThgt0YB+0lsmGOaHW2I7UAzbjJWWp9aFszyzffh\n pz4P1BjnMi8XKbxoR2+84rxJUUlpdAXZR9FVLk6fruLdOW4VdUOqrvY6HFIXdaXDSD9fDnnNkLq\n zLnmYGHBrwUICNFN8CPiFyEe8D/vS3+HB+saawIKk2NTSLn80W4kh7g7Dg63qoiPP+lzIwG4iYD\n ahcLX8UgFHZkb9g9sEg==", "X-Authority-Analysis": "v=2.4 cv=G9Ys1dk5 c=1 sm=1 tr=0 ts=69e5b410 cx=c_pps\n a=rz3CxIlbcmazkYymdCej/Q==:117 a=yb6njnUeU2jdBzxOxKIisA==:17\n a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8\n a=ujSPe92eCx8LhRkjprUA:9 a=bFCP_H2QrGi7Okbo017w:22", "X-Proofpoint-ORIG-GUID": "_uLhUYqKQhG5SUZesKxkFOjfU1Wju7Sy", "X-Proofpoint-GUID": "_uLhUYqKQhG5SUZesKxkFOjfU1Wju7Sy", "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-19_07,2026-04-17_04,2025-10-01_01", "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n suspectscore=0 clxscore=1015 adultscore=0 impostorscore=0 lowpriorityscore=0\n phishscore=0 spamscore=0 priorityscore=1501 malwarescore=0 bulkscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604070000 definitions=main-2604200044", "X-BeenThere": "gcc-patches@gcc.gnu.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "Gcc-patches mailing list <gcc-patches.gcc.gnu.org>", "List-Unsubscribe": "<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>", "List-Archive": "<https://gcc.gnu.org/pipermail/gcc-patches/>", "List-Post": "<mailto:gcc-patches@gcc.gnu.org>", "List-Help": "<mailto:gcc-patches-request@gcc.gnu.org?subject=help>", "List-Subscribe": "<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>", "Errors-To": "gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org" }, "content": "After r166977, we are wrongly rejecting:\nstruct {} && m = {};\nbecause our code to diagnose a missing ; after a class definition doesn't\nrealize that && can follow a class definition.\n\nThis is simlar in nature to what was done for `::` in r12-8304-g851031b2fcd5210b9676.\n\nBootstrapped and tested on x86_64-linux-gnu.\n\nOk for trunk? Or should we wait for GCC 17? Yes this is a regression though only\nnoticed as a regression today.\n\n\tPR c++/65271\n\ngcc/cp/ChangeLog:\n\n\t* parser.cc (cp_parser_class_specifier): Accept && for C++11+.\n\ngcc/testsuite/ChangeLog:\n\n\t* g++.dg/cpp0x/rv-decl1.C: New test.\n\nSigned-off-by: Andrew Pinski <andrew.pinski@oss.qualcomm.com>\n---\n gcc/cp/parser.cc | 4 ++++\n gcc/testsuite/g++.dg/cpp0x/rv-decl1.C | 4 ++++\n 2 files changed, 8 insertions(+)\n create mode 100644 gcc/testsuite/g++.dg/cpp0x/rv-decl1.C", "diff": "diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc\nindex fe27a15a283..b974a1a0d3c 100644\n--- a/gcc/cp/parser.cc\n+++ b/gcc/cp/parser.cc\n@@ -29786,6 +29786,10 @@ cp_parser_class_specifier (cp_parser* parser)\n case CPP_SCOPE:\n want_semicolon = false;\n break;\n+ case CPP_AND_AND:\n+\tif (cxx_dialect >= cxx11)\n+\t want_semicolon = false;\n+\tbreak;\n \n /* While it's legal for type qualifiers and storage class\n specifiers to follow type definitions in the grammar, only\ndiff --git a/gcc/testsuite/g++.dg/cpp0x/rv-decl1.C b/gcc/testsuite/g++.dg/cpp0x/rv-decl1.C\nnew file mode 100644\nindex 00000000000..a82a83d0275\n--- /dev/null\n+++ b/gcc/testsuite/g++.dg/cpp0x/rv-decl1.C\n@@ -0,0 +1,4 @@\n+// PR c++/65271\n+// { dg-do compile { target c++11 } }\n+\n+struct {} && m = {};\n", "prefixes": [] }