From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id DB78038582B1 for ; Tue, 28 Jun 2022 18:29:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DB78038582B1 Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 25SHYDNT030903; Tue, 28 Jun 2022 18:29:17 GMT Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3gwtwu6yvq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 28 Jun 2022 18:29:16 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.16.1.2/8.16.1.2) with SMTP id 25SIB4n6033693; Tue, 28 Jun 2022 18:29:03 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2041.outbound.protection.outlook.com [104.47.73.41]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com with ESMTP id 3gwrt868sq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 28 Jun 2022 18:29:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m2MjKVAbdGDHW1TFNgJcN8hLzD42GOWbB0o9lyPf7RNZw8MyFNF53deQ9tHgjKH8N/+WRAne9RlXNUUHT8oa+1R3KOFqSf3wmwoDVHXyQoGhVkTd4lhuJh2eim707u8EFPngW89qj06m8WeybuIxSnmwOr2SdWdbZ5vmwqjDSdDhAU0aTt2BH0g8Kjo1B60atlEQcMwi9M2fWOxJdAwDBKS8mI754WFGp1htGmYwwda1KPsTqeLidVJWt6+3AHdKFF+zhGUi/GPvgGJsEAtTQe8WCbiqhcz83v1tPxeKXkCNsg7jravtTk0/h5ZIIF40jRstA/lTkYjzWZuWCIvS0Q== 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=Xt3cnE/GeNTj4fPFfvCNsq/iIpnDaHFjjJQPkyr8OZE=; b=R+6Y2Z8abhecFKS+BFEtMoZVxfebHvhj8nMkeTGIjfVaIfUDYNyfq2g/2/Dmr9c/z3r6KWNBuB6nb1wQUr2VyovwdFhvEkfuhEmVjxDFZM61miZZbw1cPX9eMFVITXvzfBLVCqcAg+rvW4KvFWEiovraxyMISoDLtTvzedihSHGN1nZbxz0Vuw5z8xx7sr8kp2qel0lJaG7U3oAHKJC3rJceaMDQC3yVcGA4lvjYluSYA/L7ys0DlrMBp4D9etdRWnDRpuqhNWGGT2T7gjJUK/UKFgQaPeKKjrvOywbpgIoUuBxROV/PGgAgKIJpyFDtQIvJBNXMFivai21w/D6dDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by CY4PR10MB1656.namprd10.prod.outlook.com (2603:10b6:910:8::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.18; Tue, 28 Jun 2022 18:29:01 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::2d14:50e4:3bb:4e30]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::2d14:50e4:3bb:4e30%9]) with mapi id 15.20.5373.018; Tue, 28 Jun 2022 18:29:01 +0000 From: Qing Zhao To: Jakub Jelinek CC: gcc-patches Paul A Clarke via , kees Cook , Martin Sebor Subject: Re: [GCC 13][PATCH] PR101836: Add a new option -fstrict-flex-array[=n] and use it in __builtin_object_size Thread-Topic: [GCC 13][PATCH] PR101836: Add a new option -fstrict-flex-array[=n] and use it in __builtin_object_size Thread-Index: AQHYijDoIYnVra++TU2IvHpSLMV5Da1kaY2AgACCboCAAAGbgIAADheAgAAMVgCAABnUgIAAAcsAgAAB2wA= Date: Tue, 28 Jun 2022 18:29:01 +0000 Message-ID: References: <45936DE9-4099-4ED2-8B2B-6956A2FB493D@oracle.com> <5281C7CE-2677-4FE3-8ED3-C5B378685DCB@oracle.com> <2DDA999B-58B1-4390-9E2E-C4D68C0FD913@oracle.com> <865160D2-76C2-4B90-BD42-0CA676E6D3F0@oracle.com> In-Reply-To: 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: f1ea09b0-bc51-4b94-851f-08da59341303 x-ms-traffictypediagnostic: CY4PR10MB1656:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: suqb8sF9WZ1aHyasS4HEbosyMyGp10Aei0wzrNiE/WCwL8n20nzfUM/kRe+OIH1nCDe5GHTXgQ65oIElyVUGj6LyEDcVeKRVMkDH2VbYQ0Ox5FYDqzWn8l1hBYEJ66FysGKaa4lNFEoM4E9DocByoIJSwAmXQXEH1S1och81vgTRgOqmFSFKwf/tEEHTYKAj+zsfzT6FvwXs7rXJUDzLi/mQYUgyIX4D+8KvWEZ9SBop/+g+jfUPIFYSJP1IGQjvJ6hIquqeY94SMxVMEP0bi3EWNDLw+II4FPo3ePFFU49Oj4SCxy7B8mLW1+qDSGI0WTl23oyR6QDA9vhBIL/LXi6lr6cyuWxnLxOYTbo/fNiOtHqa35YyA7XVcQUHxxTmZ5t8LREY2KdWlpJlr1CHOmke9Hfs7hWQEyBn6qLIcaRvDE2IijFpIkWOzmEAfru7/t4qTi6BWJGN1pmAZAkWw+moLl3w8p8kuOos2AAs1yiqXZuEossgTFnMqm+HYxq7pKFUYQvTZbGbunC92trGRYkOGQ8+zPA85ojliDoZdrnKwqjxPZ1p8/dD8jPTPe/VVw3PBJavz2Cj51aK363d0xazjB5xQlxTsZ3njxOOT43CgGpO6cr0o4nSQjoJz4Mgk1EnF8exC5taTms44DFpMiH2m8SCX4Kp7mlR6Qo09DYmXJW+W0TzRI4l3Qr6plEoXEZlm9AgdTcIZkOANXvh1OHC7SlygmkSs8GoRXM3eBFdds0Yzg+6nkv8tI+aLk/YE0GebYe7jZVKqEomp6jXeEgO3f3u9+enyRMqnM35RJY5uj4P/xmHpdRXSf5l8vFof929g5BsooeV/lNH3cHsVg== 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:(13230016)(396003)(376002)(346002)(39860400002)(366004)(136003)(86362001)(478600001)(4326008)(83380400001)(54906003)(44832011)(2616005)(66946007)(8676002)(186003)(38070700005)(316002)(6506007)(6512007)(76116006)(6916009)(64756008)(8936002)(36756003)(66476007)(66446008)(71200400001)(122000001)(5660300002)(38100700002)(53546011)(66556008)(33656002)(6486002)(2906002)(41300700001)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?mjyeeHBa2GwqLtRkeyAl9ENZvbvJH43cYYQFeBpqZ7ZyvODLBNxwa1NSlwNa?= =?us-ascii?Q?XiNZbUa5RGyH8643umFU/JTGM/cMyzzcvNUKSzbWqSecGBEV8sv19TcerUmd?= =?us-ascii?Q?v35dAaquEn3OoA4CcKSyVGJ6wMiTNwthHO1BFwFsQTaOEWKc1wEQ3gRLYrBR?= =?us-ascii?Q?NfTh400EX7zi9oAwX0IcJXsf4gFLIm9k16f3nb26e9M7AAxfHuEAAvB3/0CV?= =?us-ascii?Q?m+jQJi4PPgfX9VElfCAlDCPlZ2PDEK55Ogt4eEDbSXyrnDA/8AO5IvW5UPqx?= =?us-ascii?Q?cg+sZiLusbVFhGcHjDe6yRggkQcC06AY5Ln16WEjXTNBooD51+uu0kdh0PVM?= =?us-ascii?Q?F+GTZ9qxI6QeyO+uKvXSXwJrOVSSbmMAiJ8iqeF4eCoC48eyJNDgR+8jSXgg?= =?us-ascii?Q?zlkJhQRVSqimMx3nXJljeKCHPHW3JuGrkcH13camBXPSL6EzY5piTszs6aV0?= =?us-ascii?Q?ApCjoDkSvrCSgVJcG9qeHMdaesP5nXrneXRgGnyke/fJBV54uad00DL/atQX?= =?us-ascii?Q?GNW1jlt//clYsFAm6+1Z9DXRsFA44fLceyjlQfGo+vAi+DKAqKqpCXPmhdj+?= =?us-ascii?Q?aIcclL+8rWgrO24RT662H4rNAr1mZg3u7zeyfR6wlgsa1QyjeqFantuv+6hz?= =?us-ascii?Q?3rYHI0oPM1QPyd4H/bApWb82P8WeLdy6BZmcNFuutAt56ImpQUjXT/96gk40?= =?us-ascii?Q?DLy/h3tRyxy+pgwgr064HieOXpe/R6HfWOWdlLEHjVDA1mEuFft5Bheh9YVZ?= =?us-ascii?Q?QL1Tyv1FF3y8SuEpHKhjmJCWWIGlZ9lK2zHvSu8Wyp5J5jh1oEeexpAnI5lv?= =?us-ascii?Q?FdPiLhXvoH47BVN213no8U/NGS7y3Wvhss+hvwuqgYFLOvoBRE7EHrdPIPgC?= =?us-ascii?Q?hIQQdaNcnrLjpVE7mKwRBHeST4YuS55oHW1imJCS93ew678uSPKzdbfO0e/R?= =?us-ascii?Q?aNVsZFVS86gekIZ8Qywu6WXEQOYFPp3pdY3L5B/hz62Cn9JUnPeRd4LczaVA?= =?us-ascii?Q?+JrPT/6lZU0CDPVa/uIF/qFpyJIEtHi7xEhgDSgl2EktKuPDyQPmKwXUoAlk?= =?us-ascii?Q?RrNSLwc62PtRKy6CNeZZxPZGo1TSi73mWQ1ydNnlqyDFPYJT18SjNOwqW1hk?= =?us-ascii?Q?5yI8CRVemoqzmyCRZfGJEUcMR6V4grejulzmLSElcNf1AdtXqW3Uv3o6e82P?= =?us-ascii?Q?2yyJNNOErhBOBw3EWxmHpJ8v2GcoOfj4wsmL3Qu7U38SMTpAXjZQIKA5yw7/?= =?us-ascii?Q?ZsWXNtWZGlPPjr2Ef43RdMZ1T1ROXVm4H/6KvdQp4bTGzzzVOD5Ua0MV8aAo?= =?us-ascii?Q?XphCPq/JNEbuIYXkTdCQWLd6czHL+2Ddk9u0KDXB8A0wTcsfkcWDE8tMjBVg?= =?us-ascii?Q?GdMyGe/hijtQFYUYShKrr/MmrpIo2nfFEXaTIwSDZsHN8Q2Jkw7mBkABzViK?= =?us-ascii?Q?D51FteeTJk0gbJpJB7NPAFnH/xP3kHRQOO3c5C5qfCfd1Zo0qj0A1Ussk2RH?= =?us-ascii?Q?TsEqdp732X9L9gA/h01D4da3/svDNQdWvkB11zy+13ric7QpaVPJKj1SOJT8?= =?us-ascii?Q?A/iG5HQo4ycth11aDswypTNUjRpwCWfNV+WRsQUGTjpIv9oqitZkMN9z86DV?= =?us-ascii?Q?rreZvMv38n5JCSbmk2vY6Tw=3D?= Content-Type: text/plain; charset="us-ascii" Content-ID: Content-Transfer-Encoding: quoted-printable 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: f1ea09b0-bc51-4b94-851f-08da59341303 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jun 2022 18:29:01.8359 (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: JFT2EtKg1pJ2RdoxBR4BWID1Q45aYoects375X/ojZWs3GsJPL7xYDS6VL4WVHW68+zV2egOoyv8kYLH0xYdDA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR10MB1656 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.517, 18.0.883 definitions=2022-06-28_11:2022-06-28, 2022-06-28 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 suspectscore=0 mlxscore=0 phishscore=0 malwarescore=0 adultscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2204290000 definitions=main-2206280073 X-Proofpoint-ORIG-GUID: y_dR4yl8gVUorVqNV6eaBQKdDuotJJq6 X-Proofpoint-GUID: y_dR4yl8gVUorVqNV6eaBQKdDuotJJq6 X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, 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 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-List-Received-Date: Tue, 28 Jun 2022 18:29:20 -0000 > On Jun 28, 2022, at 2:22 PM, Jakub Jelinek wrote: >=20 > On Tue, Jun 28, 2022 at 06:15:58PM +0000, Qing Zhao wrote: >>> Because the flag just tells whether some array shouldn't be treated as = (poor man's) >>> flexible array member. We still need to find out if some FIELD_DECL is= to >>> be treated like a flexible array member, which is a minority of >>> COMPONENT_REFs. >>> struct S { int a; char b[0]; int c; } s; >>> struct T { int d; char e[]; }; >>> struct U { int f; struct T g; int h; } u; >>> Neither s.b nor u.g.e is to be treated like flexible array member, >>> no matter what -fstrict-flex-array=3D option is used. >>=20 >> Then, to resolve this issue, we might need a opposite flag DECL_IS_FLEX= ARRAY in FIELD_DECL? >>=20 >> The default is FALSE for all FIELD_DECL. >=20 > Doesn't matter whether it is positive or negative, you still need to anal= yze > it. See the above example. If you have struct T t; and test t.e, then i= t > is flexarray. But u.g.e is not, even when the COMPONENT_REF refers to th= e > same FIELD_DECL. In the t.e case e is the very last field, in the latter > case u.g.e is the last field in struct T, but struct U has the h field af= ter So, do you mean that the current FE analysis will not be able to decide whe= ther a specific array field is at the end of the enclosing structure?=20 Only the middle end can decide this ? Qing > it. >=20 > Jakub >=20