From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 000BF385DC35; Thu, 2 Sep 2021 02:34:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 000BF385DC35 From: "gniibe at fsij dot org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/102151] Spurious warning by -Warray-bounds when allocating with flexible array member Date: Thu, 02 Sep 2021 02:34:38 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 11.2.0 X-Bugzilla-Keywords: diagnostic X-Bugzilla-Severity: normal X-Bugzilla-Who: gniibe at fsij dot org X-Bugzilla-Status: RESOLVED X-Bugzilla-Resolution: INVALID X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Sep 2021 02:34:39 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D102151 --- Comment #4 from Niibe Yutaka --- Thank you for the explanation. I understand how (current version of) GCC warns. >>From the viewpoint of use of structure with flexible array member, still, t= his could be considered as a bug of GCC, because the warning itself is irreleva= nt. My point is that: (1) In the test case, use of offsetof(struct arg_and_data_s, arg) is valid = (I mean, no violation of language/feature). In other words, (2) Allocated space for an object of the structure may be smaller than sizeof(). There are such cases, for structure with flexible array member, because of structure alignment. (3) It seems for me that by (current version of) GCC, the fact (2) is ignor= ed.=