From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id A50753853307 for ; Tue, 31 Jan 2023 14:43:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A50753853307 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=oracle.com Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pMrNY-0005lg-1U for gcc-patches@gcc.gnu.org; Tue, 31 Jan 2023 09:12:57 -0500 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30VEAina015967; Tue, 31 Jan 2023 14:11:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12; bh=kg8eFlCkRijMmFqnRa47vDw/tmoTFT6VflbClPl3xpw=; b=3DR0zuaz1IL96MhtXoz7FdrFhHp8leYhBz4J5CyfJd07JQhlXB+cJRqeIcBulVJi21fw YE8lTTZGJasbRN2KehNEqRbNiyEn3svxLrozWV87NX1iAn+D2MJG/dM8AlXWZPFS/7tO HlRvGtfMm9lZyq7MIAgQtxzFOluoQqZ4JKtlNOe1QTQiMIeabXQTTvQPLqZSpfBc0VvD pcL1PNSPbrjuyCk4Hfcb534akwCc/9+pCOdcsDoMneOrBZoxCs1G9qs5T3GPTqfvwD4G VdEA4euVeXjTYM0V8uxqOz8aoBoqIXqYCOEsjNTWiIl/nm3simj6Kg//jqNro5TE2iif yg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3ncvrjwjy7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 31 Jan 2023 14:11:54 +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 30VE5PHA010370; Tue, 31 Jan 2023 14:11:53 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2109.outbound.protection.outlook.com [104.47.55.109]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3nct55y5uf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 31 Jan 2023 14:11:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jMOA0VMBm6RhXzhPs10tfxQn+aTPZcKeO+w+ZbR2LXC9ll7MAS9lZnT5ZJBQhEFFM2+J/5OfzmX3IrnSHg4IeE6Wcpwgn8gq2Sb/6/AoTqTIne9j33tHhNi//9wXPFyxY6mHb6CKeFqb8zWPl1Lchqd43m/d2qxEqLkuuDr7Nm0BWXuiigA6bQi4e726r0j8i3tYhde0HD2VyNWonBiGZcjSgZoHTW1aVsy988gEFfybfytnL36UX0TzvedV1jBkzCRqVewPgufcKVPK4DbK2XEGEaM9nPPXDxeDs21MaPc+lzJsGdUywZOgHFEQDkbfehpaWYTrGA4X1jS2kXGJGQ== 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=kg8eFlCkRijMmFqnRa47vDw/tmoTFT6VflbClPl3xpw=; b=WiWQeQqDO5STGPR5KMvPJLya2C2p5M0fIGqGalFPhe6UjTeSi6j8x7wF+PBLcIvrYzagTSygH7m6KYyNPmXgIGSo5a9rjjT3BLA3oEsWEuMgkxDWb4Pr2oubE8B0eAzNEmTINgroJAKQpYJmfP4NOMA7PU46pLuVUCWzMPvpKnL276qIxqMVydrhpsjn3snSbLBT7xywAoL00IcvF2L5DJ1yePKC/7jKBAmk1KiYosnpgVABYZ3Xp0EeKO2hBEWc2ablMgcVjxo5NNcAMuHNk4QV+a/oj0LkzPewdFUnICYrsyApDdhr+lH+ISDiWh7Cbisyug0xVsLqGkbe6Ld3HQ== 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=kg8eFlCkRijMmFqnRa47vDw/tmoTFT6VflbClPl3xpw=; b=df5T3Wdq3UO9CYGrS6UQwtKCprZTCHVao9qStPKcfGMtgHVuMnvNNqiZFS0qoEQNScXNUTvtoQDv30ZVO+KZWYMonXfT/ibeTssn1QC5pVP5ZMJAUjuOvx5xf8NFgwPpJpGYObcik6BLPv9k/ls5Mn8ax4797oxpnpzAPd9fpJ4= Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by DM4PR10MB7404.namprd10.prod.outlook.com (2603:10b6:8:180::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.22; Tue, 31 Jan 2023 14:11:51 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::c96c:cb50:dea2:2cd2]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::c96c:cb50:dea2:2cd2%5]) with mapi id 15.20.6064.021; Tue, 31 Jan 2023 14:11:51 +0000 From: Qing Zhao To: rguenther@suse.de Cc: gcc-patches@gcc.gnu.org, siddhesh@gotplt.org, keescook@chromium.org, Qing Zhao Subject: [PATCH 2/2] Documentation Update. Date: Tue, 31 Jan 2023 14:11:40 +0000 Message-Id: <20230131141140.3610133-3-qing.zhao@oracle.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20230131141140.3610133-1-qing.zhao@oracle.com> References: <20230131141140.3610133-1-qing.zhao@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SA1PR02CA0019.namprd02.prod.outlook.com (2603:10b6:806:2cf::12) To CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR10MB4344:EE_|DM4PR10MB7404:EE_ X-MS-Office365-Filtering-Correlation-Id: e8305c1f-1a7b-40fc-214c-08db0395193c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gz93hGwt9nRjBa/eNfZMx6SQ4loDqeYh8MdvuPxbXPxry4yfRkJndwJdAxURMN7Ay0k3fiPz/SX5wVoxTy7neIb82OCfwlP0ULP/hCuZRIpsDOHxsDqU/IZJsgtuiKvpOk9ciUE/373A5UpJzcnNFgRLhhinNVDubyAu5JlTriTTU+fjRE8f4ivyOFp9LACgT/udJadB/cpPdAs+4GWmtsQfU9t+udML7jCmjLn9j0Ku3K7IX6lXbOdqXNCTAXPKIIDJMrDe20rhv5tXCx1zmk4mP4cemZDJCL05XJPfDUoSw0NNS5N1XMvahkygN3azoG6b7IlPLMVWdr0ODRJuP0czSTYTMglnlbkj07GRTofwp2B4vDmv3zOYv0AmDlGJIiS1U+bjk4CdgDCstwd2kkYsp0O1YD0touYQQG0GtQBPjJ5SI/S88S8QzBD+xq0HsrM64X9QEcElSPZiX8CGhg+mHQFj4tyZwUbvHdP8gMmr9EEe/BlWm+Ne9pn63Uozjj+kGDtSW3sCakOm/3Br6NoUlmUpx/JNw0MoJuVFrtrLs3HAOsZmoTfUu+z0B/2aNoBXbjTAIzYP1x/yM+6Jx85OFKRg0Kdtk5dDp3vaqhCWLQAJribbFcfhanKk2omZUNggBFtVNxXN7OkdPsLWYQ== 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:(13230025)(39860400002)(396003)(376002)(366004)(346002)(136003)(451199018)(36756003)(5660300002)(8936002)(86362001)(41300700001)(38100700002)(44832011)(2906002)(15650500001)(4326008)(478600001)(6486002)(2616005)(6506007)(1076003)(26005)(186003)(6512007)(107886003)(6666004)(316002)(83380400001)(66946007)(66556008)(6916009)(66476007)(8676002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Xdng/y9jq1e4rQrUSVtOfxn0autouLO6m09VzuZIar3mz6CcWBl4qffI6ZnY?= =?us-ascii?Q?vNYI+x/Ntn0RmuYOr6IzQCRmUHXAUWpQhPBTtAJk2u7+HVZ1Ikwe7S6HR3id?= =?us-ascii?Q?bunQy/F9/z30SeGWjkcUzLPSZB6tXL15MbFn0x942emBh5wn2QhbojIRQwGr?= =?us-ascii?Q?ROPnQ4Oq2atry/h50KRC2u1jgC/3Gh2Kl1zRtSck19tN7e0jUuavhmKkNA4T?= =?us-ascii?Q?fiJkQ8jfH1b0OqOSl6xKr61Zeg7sDK1tvUt+l/5CgIDuPUh2hM6Y9SUjQ+9Q?= =?us-ascii?Q?dM67GPSPsK+I36M5cR2ofSQGRHgwU9+FO5BnQnR97oQVCjexRQDY9ItvjVAC?= =?us-ascii?Q?Br5gxGnUUUYhsYCgN3UdJQdlxp1GHh5/1oP0fHxkjJEtBSR3IKHdd6CjpNwM?= =?us-ascii?Q?MYYIfBX+bbI2ZcEV0rZQ8OLgsVt8j4/B+uRnr8i/Jy4dh7b52mDGERh530Iy?= =?us-ascii?Q?YHFnOLRS3jNYK+cFapl4rt24me6/NDOkm69LHz2vzhvUQg/P4DTdxeX5k01T?= =?us-ascii?Q?h07tgpoC9ok4sbcBh+in/ze2+oyuwbdeb7n8z66ykPmjjNYvE+845YylFECn?= =?us-ascii?Q?oqhdfmAZOnYkSEd4UJFH1lik1a3KMWOzJtrhFHRQtAVVo3iXCVyLI9ci9v+O?= =?us-ascii?Q?JtFrNlv3KnJnLd2UkRAHX+yWHbrii8cWuA4w/kBlnJ0/WvdSNG+1wxxQ8gvA?= =?us-ascii?Q?bpSs8KPxAMwV6vZHvQDLshKtGP6VcXB4ZL1LWotpHIS8EwEaBfB0qBgi3PoO?= =?us-ascii?Q?C47lb1knMzsLRjsSurjT07p8PbukykVoFvrlxvScLz1LKYZVZkRgT4tVZe9H?= =?us-ascii?Q?U2GloeuyoeiZ0mslz5XT+UtC52A8MfvtNqsEfNtLY7tFMUO8uO1X0S3Efodj?= =?us-ascii?Q?xtsbQSIyj9ZPcNzXIrpo7OUE6YkusrJZsPaxBQtxYBdajG30OWkI9WL/Vcyl?= =?us-ascii?Q?9vRIuCLt26yqi285BC10ISOC1NDgZRW1n9Uf/EStZfJtrO80Cpzp/JubEeY6?= =?us-ascii?Q?uTrMVNUTXleN/j7M0wcvZjoaAyOWBM0xrLMAVE58KJp95OY539DhxiSsp5dB?= =?us-ascii?Q?wd3oZ8AKZXg4QXbbbbEvjFobp08suPn1V6vLo3h98NpgdFkJVin/HzLKnqRX?= =?us-ascii?Q?827aH4oSzVbNXlIYjEZaU4ZUPG1OhBl7PnGVsYqFuq5keZl23eotsjtsCdsd?= =?us-ascii?Q?SQcYiVfTIEgI5+f6eJ99ocj4H5Sjoa1ScDEtxGyrfpXhHiQI+3g58sE2NDaH?= =?us-ascii?Q?wjo3CLViSCI8XReBD9CQrjiwXEbrjjARs2mi+1qw51TTgws0duGMb4sfG9K8?= =?us-ascii?Q?sL88AFZcs6e1HP4WbB30zaFN+wKOtT1YNI6McskPgbmTUfoaBDtrbYjhMrXm?= =?us-ascii?Q?nI8bMfRD/Ongbn6MlyfaNxLsxxuZqYZhMjSsGZ2vTbqkmXt3QML1D3yyJWLX?= =?us-ascii?Q?2wFFGbSqmSfA+g0VAi+a+jTo6gVI8P5VfWJx4Umfg8xUoMxSVYdM9ZP6/qyy?= =?us-ascii?Q?MOU8p5vkgIn01z2u/GFxoPHJ8YW92c+/QxiT5ng+kPoe/ofrINnTrsdN1As3?= =?us-ascii?Q?i/hWpfWPt/8Wgi20Bdzkz8fGq2l2kgQe1deslIXM?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: BbkU0bSVV9l6sraJoSem4b3xH6gSbAixdmEBCtaOyLFbwC90OcTZGq4Me1QsrFQvsHu67twvGVwjOA75WYLp313yJa91LsoLUEgFKB2zHJqed1jdxoHhZDRoROBy2vhqJTNohyvAtgXOYVaAERwjA7jv41NqjPqbuOEmCTgNyaZz8izMMfpURmqHvKxy1hw7/bowwOd/TivwSBXplbDKDE3TIGPZI/PQTpvMWhxu+sryhM3Tvotcbs7uRLX1kKv2dAx2FF4F60684iUoH9TCRJakn6vw3SJ5N+ZvLLF1bcEAfUtiIt9+l20ICC9tY+TnsK/ceQ+dkbxjRnmhyaSHLRgbJ6I028GJdtYk1pUDipcN+zPcRPwPLUzrhzLH2vYKCdMcW12vv1fBI+WEp01fXou3hMsk91gHjjyY6hNB2t16EAYPBwKYVyhHcKKWOQECC1s4PqWPXQOVhq7LetJ+3hb2gqYsyvjCCNuH2rL25fy8CbWrnoG4KDe6890p8/a5O3xkdfdfBmdZj6zDKR1ObjAFAqZubqk6f6SKVJb3+U2VVWOg4SBj+rWcsOTuIsDdftxmkY1vtm+i+/nn0igoqDnbY2S/jfu8DV/MADNY9fMOWDEt7IsrENJTgkvyxYKXKFlBLW8AVWIqRyRYtM9ZYeDKHSEvuhV5QzhuDlfI4Scc71erIxagwGHBw6/s44cm0b9S4r3nIyYGs9/4ypKcD1lodsBq5Vy/E8kcozVx5DXiZ8J6V0umx3La+FdkEh9CvtLK/nfmk32S45rwuhfF9kHwH9rfXR+YA3sxZaIcf2T0tSAgfOzqZSODknDcRL+55XP8GYsldXtjwYbGFk1afw== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e8305c1f-1a7b-40fc-214c-08db0395193c X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2023 14:11:51.2688 (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: TvxlRAUtOpQRg9I57RiWwgsZ/z29dsWYKkJGcpSZrphRSfkxIGkGRDM6EBzmoj5f3N++DOSuL38y1hPm5Oefag== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR10MB7404 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-31_08,2023-01-31_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 phishscore=0 bulkscore=0 suspectscore=0 mlxlogscore=953 mlxscore=0 malwarescore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301310127 X-Proofpoint-GUID: ZPqQHXXEr3hibH0Gx5CsXjMKfC9mHUyY X-Proofpoint-ORIG-GUID: ZPqQHXXEr3hibH0Gx5CsXjMKfC9mHUyY Received-SPF: pass client-ip=205.220.177.32; envelope-from=qing.zhao@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,DKIM_VALID_EF=-0.1,RCVD_IN_DNSWL_LOW=-0.7,RCVD_IN_MSPIKE_H2=-0.001,SPF_HELO_NONE=0.001,SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Status: No, score=-11.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_PASS,SPF_NONE,TXREP 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: Update documentation to clarify a GCC extension on structure with flexible array member being nested in another structure. gcc/ChangeLog: * doc/extend.texi: Document GCC extension on a structure containing a flexible array member to be a member of another structure. --- gcc/doc/extend.texi | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 4a89a3eae7c..54e4baf49a9 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -1748,7 +1748,40 @@ Flexible array members may only appear as the last member of a A structure containing a flexible array member, or a union containing such a structure (possibly recursively), may not be a member of a structure or an element of an array. (However, these uses are -permitted by GCC as extensions.) +permitted by GCC as extensions, see details below.) +@end itemize + +GCC extension accepts a structure containing a flexible array member, or +a union containing such a structure (possibly recursively) to be a member +of a structure. + +There are two situations: + +@itemize @bullet +@item +The structure with a flexible array member is the last field of another +structure, for example: + +@smallexample +struct flex @{ int length; char data[]; @}; + +struct out_flex @{ int m; struct flex flex_data; @}; +@end smallexample + +In the above, @code{flex_data.data[]} is considered as a flexible array too. + +@item +The structure with a flexible array member is the middle field of another +structure, for example: + +@smallexample +struct flex @{ int length; char data[]; @}; + +struct mid_flex @{ int m; struct flex flex_data; int n; @}; +@end smallexample + +In the above, @code{flex_data.data[]} is allowed to be extended flexibly to +the padding. E.g, up to 4 elements. @end itemize Non-empty initialization of zero-length -- 2.31.1