From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id B4F433858297 for ; Wed, 7 Sep 2022 00:28:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B4F433858297 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 286Ld2p5019652; Wed, 7 Sep 2022 00:28:46 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=mwZ0044E/yH+WR8vCJXlXl8QbpnVv6yQC3TShSKZdT0=; b=Sr1JrskRyZBZ3L0qA7GTf5j2hQw8b+X49/MlMmppdKUw/RJMh4R7vfJenP8xqRvpCea/ pYCxp5YHg23qv6qgHf0E/qXm8GkVIiw5rFwZIKKzK90sXuq7yi/u+HCzV4etfpidf+XQ Qs+Tv9Br2Y3AxWo5TNWy1KzQ1rQepfJ0tZSgNEbXLvHtjGyPgoB7W2dAutKwhB/epT2Q b+KdC5yfabOcyJsmj8JRSfidI5vHbiONr+HiFcZ9EQrx1Ziuga3mTdpVXwXwJ3bprUDr IahXY74Hyfjxjw76uuEb471lM8a3g3hKj9Tz1wPbq05MJxy49Adg304y2JMBX1tsfXwz 3Q== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3jbxhsqduc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 07 Sep 2022 00:28:46 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 286NueBX030634; Wed, 7 Sep 2022 00:28:45 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2101.outbound.protection.outlook.com [104.47.58.101]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3jbwc3m311-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 07 Sep 2022 00:28:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YTM2f2HAAraoFLKUcPWCXvSt/zFaGPwBpDt39lwnLlmU4IMfhzPFW7XSGiulIMSwXadj/qcyASQ+mPbgJ0iJAAMAcGtiYPH6vRQb+n+k3UnSv7okTV7iDz5+qYYiT0/I1AxU/GqZPNoc/stdzSIsznvYSDM4+o4d3kn3KkQE3mPDmhPQNtZzFsgc+F3xoJXZ55l6J5acXhQWvn46a1nrhu8gUCyBrDEPTXErVVcJ8UQWvACoFX6YSOWm6SQ1qo7WUjx7cA6uoet+pu3GpNgD3cSnZQgyuatfrqtx79H/gM3Ge3Ql+R9Qxk/Kdf9XOswl5Ee8jRKpa/xF03ySLZn0lQ== 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=mwZ0044E/yH+WR8vCJXlXl8QbpnVv6yQC3TShSKZdT0=; b=hyxe4KgFYCJ92Z8qW8+0sP7NW215xfWCNix5SujPYKfymJB4VXwJ8IFbsPRkrBs4ObZuySFDxJoO899B3X0VW0bpNBWpWnHoNfcFbE49V+hj/DB2oaFnXgfVeu+xSVnmPuK0Sk9Gpq4zMGpqhPWt0fT8Jn2bQ8RngAYxP24xSdzoxMfw9PpWbUOy08qsu1dOaYUIhbQ1SLNdoC5qJ52CpSr3JXwsyr57D2Kk/bNy4hPKVzuCUUexCYd6yUzB2YYWMxI1zOGcxZI+TD30lCNmoksWvbYs0MV1M3dYbYSB17eR9UwvPNuEey0+RYVcbYBQRrKMLSSEIxskJm+aGWQL4Q== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mwZ0044E/yH+WR8vCJXlXl8QbpnVv6yQC3TShSKZdT0=; b=VnUIHWI+EElwt/IccxPf2Teq/yoOBywPEy77FCCoWS+wjf3mmMI2vHKdheKn4SqsAhzD+We3ftnUOTrM0kY8cbHaJf4bK6nVKvkkTjmPRPMBv317D+gLeZBwraIxFC8oqurudgsL/jw//almr36q7/GVY0dh44kJqxHgXu0LbNg= Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by CY8PR10MB6801.namprd10.prod.outlook.com (2603:10b6:930:98::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 7 Sep 2022 00:28:43 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::84af:9275:f1d7:de1]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::84af:9275:f1d7:de1%6]) with mapi id 15.20.5588.018; Wed, 7 Sep 2022 00:28:42 +0000 From: Qing Zhao To: gcc-patches@gcc.gnu.org Cc: rguenther@suse.de, jakub@redhat.com, msebor@gmail.com, keescook@chromium.org, joseph@codesourcery.com, Qing Zhao Subject: [GCC13][Patch][V4][PATCH 0/2] Add a new option -fstrict-flex-array[=n] and attribute strict_flex_array(n) and use it in PR101836 Date: Wed, 7 Sep 2022 00:28:15 +0000 Message-Id: <20220907002817.236178-1-qing.zhao@oracle.com> X-Mailer: git-send-email 2.31.1 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SJ0PR03CA0353.namprd03.prod.outlook.com (2603:10b6:a03:39c::28) To CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 957add78-4c9b-4bfc-494e-08da9067eb36 X-MS-TrafficTypeDiagnostic: CY8PR10MB6801:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kqm9IB8DrEd0t6cqhJ8i8v2hAwSKn0zogDPNhSHAwyJPHZEm8p41H2X/YC706GmTYTscF42UPuuaE5hDOvOfBNy+rzsy5DW0/3gpgkIaxcALys6iVn2OV3pcdu/158pCcODUFSTmoFIzGbDlZKlC634kDuS+XW73RiGUIzLNAI5YPSyAU9YauoG8TMdwKcJO8bwmQFummuFLBxL8XD0VhA8btBk84l09KjBzR4mXDcq5FY93MSub6U53lUJ/OeH9TM7gm5sad3YixyYMMK28h44Q3PScFxccxjVWxp7jMjhCYb/9rgfcldn9/vVc3Ty0s2+vJOlZMfMRky9p6pI94aLr1ZgvLu63jXHezvt3JP3nAiUeR7eiFxfRUOGvpJSnLY9LyuS3M+qAgow2m+WMhIeYNrwkqZ3M/2upf91X4g1n2av+2sBh1JEBTcoHHl08XE/uo3XCKWCekdOV64bc+8p0cRybkWCW31naDmT25B5RsrQeS9oJ0v8WoS2tguLYBKM96NH1azC+tMA4nNP5mBS34zZla+eN4xeC27klh2BcdFquEEsmnp3ejcwPd2KiRmFwA+KzXN32gxGKo5zmVtVNe9Nmi9YYv8EOWrXBvl+FOcX9pBH29CXRgC0bo3+ji4iUnik0H31pIwuxFlVsutB72VGbOjwK16aQXF9t+S44uD7M6DVIONAuzYj6xusCMoVBvDUJ9/hkgmX/6BfGUQ== 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)(39860400002)(376002)(366004)(136003)(346002)(6666004)(478600001)(6506007)(26005)(1076003)(6486002)(41300700001)(6512007)(4743002)(186003)(83380400001)(2616005)(5660300002)(2906002)(44832011)(8936002)(6916009)(107886003)(4326008)(66476007)(8676002)(66946007)(66556008)(316002)(86362001)(38100700002)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?cr8pRQoRvnW/128lsXB5TTfzHcFJEFOSQmEb925lXPgoVoxpGBrzuU/U2xj1?= =?us-ascii?Q?QucOq0O9MratiYXx7tW+5J8ZgWYcZP29oEE5PT1HUkxxs3kuH6aXsp/uxwbM?= =?us-ascii?Q?/ZiRQ7CEiY/x4TncH4GL8Yrm0sP4rTBazqGc/yRcEz62HbEF8PEcwBpO5KwN?= =?us-ascii?Q?Ba9bbmCmcj4DtnckGReg8ZW7IZEOkhidVxKCF4NYtzjFXYLyX0bPwpBSuJO6?= =?us-ascii?Q?ZIaP7daetBhm3DW5BiszIY5EzadH3bU2ML5Y07p2+nvehUHAGMBQ5ihXK8Ae?= =?us-ascii?Q?iViBoRFqwobgGBIlyQKt+G4Jqddr18HliWEbKkXDWbY4LFuLC9ceff9THcgX?= =?us-ascii?Q?r5Y/qTGgT/KiqnNDjpF9cp0v0x5fDyfbyFa+saPiLfZRsk9fNeYRsmnrAv2K?= =?us-ascii?Q?54xFCtfX2aaspdLkauJkXwDP9TpeK9d8D8x4j6MkoSagtkIbsuMoRD0dLUxv?= =?us-ascii?Q?W1cN2WeQ9tiFENzdJz3+IhkW0Fcq7mpVW2nzckYTMsawHNG9n3OArPQVUin8?= =?us-ascii?Q?iB2zTksI0OAPFMCI3Fsxk/K/hx0nlnufxyvb983JOIDk6tct3Suf0jEzAme0?= =?us-ascii?Q?uHMhHqxmOT9SKnqE+5BWDEpwc47sB8h8TGES5b1Jg9syVgbOEUOnSxVan5UG?= =?us-ascii?Q?INO8Vac/MFE2HRxxLzrQ7uPyD2QPUPwkcLCRtH3IKcmnferUohZ6DPrvH6IR?= =?us-ascii?Q?iaYjmcd0q50BXMr7UnxyK9L59SnIGnqPgGgutcOIBpkjkA2aYl4Z4cFMTr9k?= =?us-ascii?Q?cVRP9q1s6pF9GDA8iD4oRyT2mjMy1C9Iqi0HadaDY60JGg097PJCswhxtXvT?= =?us-ascii?Q?9GkgD6P5pee5X0EOiLCHTdAvVRKsOb7/J/KUiRIZizgelE/WtUR2K0PNvpbd?= =?us-ascii?Q?/JCU4cu09Vl8ZRxBnkpx/P2ULcetdSQ4uMS6Fl4eLRXxMJT6GxQnngnfYvC/?= =?us-ascii?Q?RVMwuU/B1xensP+RIB6KF872n5eeyFN4tzl/jSBwDV3WmSnZcgN1kuubYJ//?= =?us-ascii?Q?yH0mmCV2QNSxxz2EHVL9ODCSLeB9+J60VT+RZib41IVHOAt63W+iKSBlgViO?= =?us-ascii?Q?YVsG9n1kdHaTeCceOsuDKulSAbJTx3x/QDhPLHzKRFrd7/mzw7pUc3vkQr+n?= =?us-ascii?Q?MBpFf1mUEF/XjTAeuo5zeh5tJl8dYcppFvZe498QGEEPjBPpnJJf0/YrjLuW?= =?us-ascii?Q?zJebGv7Vt55uqCYXe1qy2bPYIhiB4mff5Tdd1lYiDtDmmUBRuBtD4xUWRZ6P?= =?us-ascii?Q?porwXW+HDeix3CqFdQY31UNs8kBNNYMcVUsuii5EZE76ryljHj8brTlrZLnu?= =?us-ascii?Q?C7F0JpG9jwMXpI9i54h/reU51zqnyEC7DNcMFPrYNWQYy+y3LGpfVVevEIf4?= =?us-ascii?Q?Nae6U9WwBYeZzCCG6cgjyejL4o+ylOcRXUHt9TM0z/W9mRQjknZj4ASgMpk7?= =?us-ascii?Q?Ho5RRGhRD4kcEhBK0xOYvJuZKL18AjMV0xj/XetVyt3uUkdcnu9PRD/WgVUL?= =?us-ascii?Q?i/c3wdrdJlB5EOfY0U3FYAZ7KZbRB7Y9/tcfCiQH98Im0dAzHZhKOOR1vMHc?= =?us-ascii?Q?DHKjhtq1ZAQyi68UgwmEALAUTHW+nepNF/uRbWVW?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 957add78-4c9b-4bfc-494e-08da9067eb36 X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Sep 2022 00:28:42.9518 (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: PYXSfUJ1we08b5Z7H7/wnqA1eXYdND4A6UezCj4DunsMjZ9NRzM0nPwk7D/CDMxwFEh/5OP3Mftzis6ygYAANg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6801 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-09-06_11,2022-09-06_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 malwarescore=0 mlxscore=0 phishscore=0 mlxlogscore=999 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000 definitions=main-2209070000 X-Proofpoint-GUID: UT05q7eXbRgz8WT6TINk9tcf8ttRPFpC X-Proofpoint-ORIG-GUID: UT05q7eXbRgz8WT6TINk9tcf8ttRPFpC X-Spam-Status: No, score=-5.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_NUMSUBJECT,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 List-Id: This is the 4th version of the patch set. Compare to the 3rd version, the following are the major change: 1. delete all the warnings for the confliction between -std and -fstrict-flex-arrays per our discussion. 2. delete all the related testing cases for these warnings. 3. update all the wording changes, and documentation format changes recommanded by Joseph. I have bootstrapped and regression tested on both aarch64 and x86, no issues. Let me know if you have any comments on the patches. thanks. Qing Zhao (2): Add a new option -fstrict-flex-arrays[=n] and new attribute strict_flex_arrays Use array_at_struct_end_p in __builtin_object_size [PR101836] gcc/c-family/c-attribs.cc | 47 ++++++++ gcc/c-family/c.opt | 7 ++ gcc/c/c-decl.cc | 130 +++++++++++++++++++-- gcc/cp/module.cc | 2 + gcc/doc/extend.texi | 25 ++++ gcc/doc/invoke.texi | 27 ++++- gcc/print-tree.cc | 8 +- gcc/testsuite/g++.dg/strict-flex-array-1.C | 31 +++++ gcc/testsuite/gcc.dg/pr101836.c | 60 ++++++++++ gcc/testsuite/gcc.dg/pr101836_1.c | 60 ++++++++++ gcc/testsuite/gcc.dg/pr101836_2.c | 60 ++++++++++ gcc/testsuite/gcc.dg/pr101836_3.c | 60 ++++++++++ gcc/testsuite/gcc.dg/pr101836_4.c | 60 ++++++++++ gcc/testsuite/gcc.dg/pr101836_5.c | 60 ++++++++++ gcc/testsuite/gcc.dg/strict-flex-array-1.c | 31 +++++ gcc/testsuite/gcc.dg/strict-flex-array-2.c | 60 ++++++++++ gcc/testsuite/gcc.dg/strict-flex-array-3.c | 60 ++++++++++ gcc/tree-core.h | 5 +- gcc/tree-object-size.cc | 16 ++- gcc/tree-streamer-in.cc | 1 + gcc/tree-streamer-out.cc | 1 + gcc/tree.cc | 45 +++++-- gcc/tree.h | 14 ++- 23 files changed, 833 insertions(+), 37 deletions(-) create mode 100644 gcc/testsuite/g++.dg/strict-flex-array-1.C create mode 100644 gcc/testsuite/gcc.dg/pr101836.c create mode 100644 gcc/testsuite/gcc.dg/pr101836_1.c create mode 100644 gcc/testsuite/gcc.dg/pr101836_2.c create mode 100644 gcc/testsuite/gcc.dg/pr101836_3.c create mode 100644 gcc/testsuite/gcc.dg/pr101836_4.c create mode 100644 gcc/testsuite/gcc.dg/pr101836_5.c create mode 100644 gcc/testsuite/gcc.dg/strict-flex-array-1.c create mode 100644 gcc/testsuite/gcc.dg/strict-flex-array-2.c create mode 100644 gcc/testsuite/gcc.dg/strict-flex-array-3.c -- 2.31.1