From patchwork Tue Feb 8 20:11:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qing Zhao X-Patchwork-Id: 50924 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 998E13858414 for ; Tue, 8 Feb 2022 20:12:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 998E13858414 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1644351165; bh=u4TTc6EfGXWrMq1dm1uODx+GV1ORy+57U5ZTNB9zdzY=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=J0/6kGEmtNG5zN3EpJv5NhXg+nhdY5JCSg4X4tsz9Uq4YktaRim7VGfpOEB0q5Gpj GoI1WToSV4h9J/XB5At2doJvtHlXQe6mVBUkJ586wI7PUp+Eps6yblzk9t/RlMsyvW 9+pddpMZJPeeN03OkKLp5XcmMzbddSWthzJZxqvo= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 26D0A3857C47 for ; Tue, 8 Feb 2022 20:11:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 26D0A3857C47 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 218Iv0u6011047; Tue, 8 Feb 2022 20:11:43 GMT Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 3e3hdsth6t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 08 Feb 2022 20:11:43 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 218KBZHS083557; Tue, 8 Feb 2022 20:11:42 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169]) by aserp3020.oracle.com with ESMTP id 3e1h26wxya-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 08 Feb 2022 20:11:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A7nhpy8PKWnchObWaX4LxVPPjO+739UMTLWVew9TUfnEhoCK+opL6OoUBwYpnPhUiy3g7PSXo5djpxDfYwu2qGzAGkg6I5ylndHvu3e4cMTtUYqIo8WGmW7lcvCu2+YrNEP27QcEaG5NmL2GHZhnEfS0Oho903HheQtFRYLcfnVmtEXKanjdminEegAJtXUy5FIP6Dwy+YK2pk/8ljpMR+z4pZDAC//O1HmgQbeMZ3aHackw3GTQ9BTl9FgMBlRbMDBRvJX6rtYhkM+svOKLCFiMyJA2/Q55exl+BXk16V5RWXc/K61epJ5YWTKA9ac/8mKLig12QjYBRikRc6JlBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=u4TTc6EfGXWrMq1dm1uODx+GV1ORy+57U5ZTNB9zdzY=; b=esMNWjeXjlD8WNGyiGKjS8kIeq9L1i/IlOMVoOSHIPOPXuNM1NYsUMCMzTAUpvjt7Cp4IcQn15atWUB5669+Y92p94AJFCA1zVhebNz26IWPW06E7i9WCf/VP3b0Mcb778nqmHTt1cXKpAlTnPwIjkZ5eEVWM64q4li1lJWYx2mgMfVgKIkLlvJ/sAaP5psh4Y1bcbhL/rgHwMyCQ/d77QV3cXZAUu94mM7rysULwD7vnwafdFXd9RG+PTLe0HKKIgwAQCOsYC9z68deVCFIGyKmot03yMBlmQvFbmP07jR5YqH4AqP1ZrSHqszRfYh5XnBUse9bfG+asysp1xNrWQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by MN2PR10MB4000.namprd10.prod.outlook.com (2603:10b6:208:1b8::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.17; Tue, 8 Feb 2022 20:11:39 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::50e0:10b6:4c07:3728]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::50e0:10b6:4c07:3728%8]) with mapi id 15.20.4975.011; Tue, 8 Feb 2022 20:11:39 +0000 To: "jason@redhat.com" Subject: [PATCH] Fix PR 101515 (ICE in pp_cxx_unqualified_id, at cp/cxx-pretty-print.c:128) Thread-Topic: [PATCH] Fix PR 101515 (ICE in pp_cxx_unqualified_id, at cp/cxx-pretty-print.c:128) Thread-Index: AQHYHSgUwivW/WCgVU68v7XgX39s8g== Date: Tue, 8 Feb 2022 20:11:39 +0000 Message-ID: <946D3718-32CD-45B6-8EF5-C41DDC3CA06E@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3608.120.23.2.7) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c15b0994-056e-40ba-6188-08d9eb3f3775 x-ms-traffictypediagnostic: MN2PR10MB4000:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: VUc2kYgWYI9rIKg6x+BtfA587X9mJvgFUkQfYhfK0H253PbCUuvRSan4ZlnyyvYmWNtOERkcRdTYYxfrMe/vLwIjPokXErBcxLr5N3DfPJ0gnRPvMn4rjugg5FQGR0Z4Fpus2hTxF6txw6LaLzcZhynuFD3t+wdUlGXBIoDKzxqXDeVi4OtvjhJrzjyCfG0CPrkRKklYuB6zuCbGqxwYPsX31UI/stwWGO9wAh00r3zyDMpfCQzHmPyDAyHaQikelPQw062SNfdkqftbxr4whwjgkjdmRDaECtcNaJ138LGLHHk0UcxSSYHJ/UAMvZMJze7EifysGKz+r3Op7hVMJo0Mh9wj05eNrVP+FUQzWCcS1ySo4RWkzQ9ZsqLHKkLg8yFKSobTj+kFPArR3ZB2uCf1RbXwt33nYSL0rzFxp28Maygbu7bu0mBZkjgmQ+WmeKxodGcXByeELyoGhhHrwRzPC8Zj81jV76UJv9Xv1RnQ/y8ICy4XrzzSbqlhaP9AWyihneP4kypzbahsxf+Hf6Iq0H6VSYTsb+lAu+s4J4P9/ObTyyc+yjZDdxXfcypICtbbqLZ7v5nxQ9dnHCf+Sp+90RzcZm1tgqsFi57Cin6mANmKbX5kTkKj36Rn8idRMgvMdvjOS0R/nhbS4ClM4CJY0EUmtt7xDe6hCDbkmkALC+I1gQxHuezKE7A1J5Wxs9Mamo/Gks2ekVjP/RYN/J/l8sYMA+iylq+H+UkSlpM28RMj4z7O+63SRldziaBW758xx/n3kexome9tVKouk2jKfL8EBMHVq7IZUcFY43KVvY2scxxEXCqer4IR02bN x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR10MB4344.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(53546011)(26005)(186003)(966005)(6486002)(66946007)(83380400001)(86362001)(71200400001)(6506007)(6512007)(64756008)(8936002)(33656002)(316002)(6916009)(5660300002)(38100700002)(76116006)(4326008)(44832011)(66446008)(66556008)(122000001)(66476007)(8676002)(91956017)(2616005)(508600001)(38070700005)(36756003)(2906002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: /7s/m3UyHGyAC5Kk4hDfbn8RIcXQXKWjNqCEhfAlfLzVc1jo754CgO4us6eBO4gW5XGmzOCAqMVcgifx6Ecm9fksMfy0YfDb2kWtN1/W86bCsk8XwUnI1A2QhI/2/YOogpYhazWnGPCNqeo3uWcGj2PV7Xh6Kwt1HEVWxeCwCuMCX1rTOulVCmys3B2k3F6uQjwCpBbOQyDHAFu1mWhz5fAvZ7N/4R8BSZYekrc4eWW/XAOegog6FMremz+mTxGIVQ5HYe5SnwOtEgg41rDdGXAMNt/PKATfyWqMwudPOJhLIDQl02pxT4gKWSG143HMXVJGTnR5jNDQwvWJY0J71bjtnplw0MRnnIc194dPMcYv6hSFxvwKAYJ1eRjK5jQTqTxpAdPeMb3peQlHzeA9vfso3qMa+WRrFECab3aP+qxxnRei8ZYsTufGfAVaxD3iHSb+KZzoiUuerhJSZpeOORQk3yfmu1TbqMMEeOTfzb7KBKGGi1uovfw/LMpY0fVavRmGq3zdOGYbLHOc37SVRHNRovOwC7yAABvXcbDvIVkaDr0gP1S3PPWRMoHuyI6TesUC5nmzRvIMsdj7cjDDpeZsuU//c4YwtcNUw9DmGdHJRCc/VhbzVRF2/c/4qrEYlv2f0vTuSIgYaBMAtXaH0EA7n10quncPbFl/HKkU7CSn+JfiHyd+FXkEmq5My54rP75BnoIAzGbZL3zOgbefV0UV+ZjHlLytRwk54ZCvaDQPKypbJMuNNfBHaqJi13nR0LokCM2iAn+qlYXOI8Mwn39HNIq9J+dle4XKaQ2NFP9R3z46n3UIe1oPVfdvYQBEPpqKHXqQgM58MxCYe/Rr+JZPris4Sv03X5rsBBo0IjLXYQvJJcS59bt63wcU/SRls2iXaF0HK1Zf3qo+pIfWlY+tt5GfmUQcukqDgkBhka73lURLkEJWGazSCeO7cq2Y9lbW1wsDgGlLMaCWnbO56IVvtkgCxtDgy3Fx2ypUyXy8spN/EvGR3F5Ra1VaxvxA7yuAK7BJSbsvEXMnOA8bt+hnBmXUsVXGxFHy7SIMgYEErQ4z7nD1dTYzIn1TydKkPCM9ggybk6slyRWShIRm/wMMR8HBRZBUZLs23SWz0vBVCu8XXuCDTO2UXBoPK/7mH5wLM2FE/5U7gI1MGbZOHHRMG2NPHF7dnkbiYfsEwz3/F1CCssv5/eS89PZnRdmrD+XQcWPogLGmgllB8adv/R+9CWAFmEu8jtffDMlGlrV3DZAJ5jxVkWkzNhVV01Yx/wOObZQelys6BSxQxixtSMxsBm+FhXn9IEcN/zSARLjkFKk90j0p5zsDL8zc6F2SH2PfV94Zt82FHs8lRumtTJWkU9svgriiplEIgMOaD4NodHYL9GdRWTFf+EfC17XEj+6S8W/GWkJ8epqHgriGzg00GIyxwBMNa661my4G9aWcDU8iglSYP/m0cKbgkPBQKpJdRnc6gHkaF3gYXYy9cBqxtMHMq6qCEUVK4JfbPT+PDnChJD9g+n+cthJ41vfcY0TSOrnVOhB4fA47GBbJ76c8DUHo699jj2Ox1hGBfcw4BO3QZaBEDv/zps1rVWlBRAR0seedrte63jPk6mLKEARSgbQvC/RgVdbn0eY4j0U= Content-ID: <3A4E0810EFC7214687DE000C2B86787A@namprd10.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c15b0994-056e-40ba-6188-08d9eb3f3775 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Feb 2022 20:11:39.4136 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: //AEFrHWmFXopIU+GazexhzNFKULrUVFxqsao2xi/1zcBuO3jCimetpgMtkfML/J+Zxn3k0aCDqCsbHBbu1k8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR10MB4000 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10252 signatures=673431 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxscore=0 bulkscore=0 phishscore=0 malwarescore=0 mlxlogscore=999 adultscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202080119 X-Proofpoint-GUID: NiI0WGjGsHvwCYMm1fmd3wksUSbZXsGv X-Proofpoint-ORIG-GUID: NiI0WGjGsHvwCYMm1fmd3wksUSbZXsGv X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Qing Zhao via Gcc-patches From: Qing Zhao Reply-To: Qing Zhao Cc: gcc-patches Paul A Clarke via Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" Hi, This is the patch to fix PR101515 (ICE in pp_cxx_unqualified_id, at cp/cxx-pretty-print.c:128) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101515 It's possible that the TYPE_NAME of a record_type is NULL, therefore when printing the TYPE_NAME, we should check and handle this special case. Please see the comment of pr101515 for more details. The fix is very simple, just check and special handle cases when TYPE_NAME is NULL. Bootstrapped and regression tested on both x86 and aarch64, no issues. Okay for commit? Thanks. Qing ===================================== From f37ee8d21b80cb77d8108cb97a487c84c530545b Mon Sep 17 00:00:00 2001 From: Qing Zhao Date: Tue, 8 Feb 2022 16:10:37 +0000 Subject: [PATCH] Fix PR 101515 ICE in pp_cxx_unqualified_id, at cp/cxx-pretty-print.c:128. It's possible that the TYPE_NAME of a record_type is NULL, therefore when printing the TYPE_NAME, we should check and handle this special case. gcc/cp/ChangeLog: * cxx-pretty-print.cc (pp_cxx_unqualified_id): Check and handle the case when TYPE_NAME is NULL. gcc/testsuite/ChangeLog: * g++.dg/pr101515.C: New test. --- gcc/cp/cxx-pretty-print.cc | 5 ++++- gcc/testsuite/g++.dg/pr101515.C | 25 +++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/g++.dg/pr101515.C diff --git a/gcc/cp/cxx-pretty-print.cc b/gcc/cp/cxx-pretty-print.cc index 4f9a090e520d..744ed0add5ba 100644 --- a/gcc/cp/cxx-pretty-print.cc +++ b/gcc/cp/cxx-pretty-print.cc @@ -171,7 +171,10 @@ pp_cxx_unqualified_id (cxx_pretty_printer *pp, tree t) case ENUMERAL_TYPE: case TYPENAME_TYPE: case UNBOUND_CLASS_TEMPLATE: - pp_cxx_unqualified_id (pp, TYPE_NAME (t)); + if (TYPE_NAME (t)) + pp_cxx_unqualified_id (pp, TYPE_NAME (t)); + else + pp_string (pp, ""); if (tree ti = TYPE_TEMPLATE_INFO_MAYBE_ALIAS (t)) if (PRIMARY_TEMPLATE_P (TI_TEMPLATE (ti))) { diff --git a/gcc/testsuite/g++.dg/pr101515.C b/gcc/testsuite/g++.dg/pr101515.C new file mode 100644 index 000000000000..898c7e003c22 --- /dev/null +++ b/gcc/testsuite/g++.dg/pr101515.C @@ -0,0 +1,25 @@ +/* PR101515 - ICE in pp_cxx_unqualified_id, at cp/cxx-pretty-print.c:128 + { dg-do compile } + { dg-options "-Wuninitialized -O1" } */ + +struct S +{ + int j; +}; +struct T : public S +{ + virtual void h () {} +}; +struct ptrmemfunc +{ + void (*ptr) (); +}; +typedef void (S::*sp)(); +int main () +{ + T t; + sp x; + ptrmemfunc *xp = (ptrmemfunc *) &x; + if (xp->ptr != ((void (*)())(sizeof(void *)))) /* { dg-warning "is used uninitialized" } */ + return 1; +}