public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "msebor at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/94675] [9/10 regression] -Warray-bounds false positive with -O2 since r9-1948 Date: Tue, 21 Apr 2020 21:00:17 +0000 [thread overview] Message-ID: <bug-94675-4-ATMpcOSrks@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-94675-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94675 --- Comment #14 from Martin Sebor <msebor at gcc dot gnu.org> --- I can think of only one way the warning code could avoid triggering here: by assuming that the difference between two pointers into the same array is less than or equal the size of the array (with non-array objects being viewed as arrays of a single element). That's necessarily true in any valid C/C++ program so it would be a safe assumption to make here as well. Since there is no array subscripting involved here, issuing -Warray-bounds might also be considered inappropriate, and the warning could be made not to trigger. But that would just mask the problem which would come back if __ps_skip attempted to access ps->s[len]. It would also come back if/when GCC started to warn more diligently for forming out-of-bounds pointers (I already submitted one patch to do that and the work I'm doing in the path isolation pass is an opportunity to revisit the feature). So we're back to deriving assumptions about the results of pointer arithmetic based the sizes of pointed-to objects. The warning would need to work quite hard to figure this out in general, so hard that I don't think it would be worth the effort unless it benefited code generation as well, or at least all other warnings like it (-Warray-bounds isn't the only one that can be triggered -- a number of others could be made to). Which was also the point of my comment #1 (and related to Richard's observation in comment #4 about an missed optimization opportunity). That said and codegen improvements aside, I think the submitted test case is sufficiently tricky that I don't see issuing a warning for it as a problem. All flow-based warnings have a non-zero rate of false positives (as do many front-end warnings) and there are mechanisms to avoid them. Compared to some of the other false positives we have, avoiding this one seems like a low priority to me.
next prev parent reply other threads:[~2020-04-21 21:00 UTC|newest] Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-04-20 19:42 [Bug tree-optimization/94675] New: [9 regression] -Warray-bounds false positive with -O2 chantry.xavier at gmail dot com 2020-04-20 22:16 ` [Bug tree-optimization/94675] " msebor at gcc dot gnu.org 2020-04-21 6:51 ` chantry.xavier at gmail dot com 2020-04-21 7:04 ` marxin at gcc dot gnu.org 2020-04-21 7:46 ` rguenth at gcc dot gnu.org 2020-04-21 7:58 ` [Bug tree-optimization/94675] [9/10 " rguenth at gcc dot gnu.org 2020-04-21 7:59 ` jakub at gcc dot gnu.org 2020-04-21 8:06 ` [Bug tree-optimization/94675] [9/10 regression] -Warray-bounds false positive with -O2 since r9-1948 jakub at gcc dot gnu.org 2020-04-21 14:03 ` law at redhat dot com 2020-04-21 14:18 ` rguenther at suse dot de 2020-04-21 14:43 ` law at redhat dot com 2020-04-21 14:57 ` rguenther at suse dot de 2020-04-21 14:58 ` msebor at gcc dot gnu.org 2020-04-21 19:14 ` law at redhat dot com 2020-04-21 19:16 ` law at redhat dot com 2020-04-21 20:10 ` law at redhat dot com 2020-04-21 21:00 ` msebor at gcc dot gnu.org [this message] 2020-04-22 6:34 ` rguenther at suse dot de 2020-04-24 7:48 ` chantry.xavier at gmail dot com 2020-04-24 15:16 ` msebor at gcc dot gnu.org 2020-04-30 13:12 ` chantry.xavier at gmail dot com 2021-06-01 8:17 ` [Bug tree-optimization/94675] [9/10/11/12 " rguenth at gcc dot gnu.org 2021-09-06 11:25 ` pinskia at gcc dot gnu.org 2022-03-16 11:09 ` chantry.xavier at gmail dot com 2022-03-16 13:24 ` rguenth at gcc dot gnu.org 2022-05-27 9:42 ` [Bug tree-optimization/94675] [10/11/12/13 " rguenth at gcc dot gnu.org 2022-06-28 10:40 ` jakub at gcc dot gnu.org 2023-05-14 21:25 ` [Bug tree-optimization/94675] [10/11/12/13/14 " pinskia at gcc dot gnu.org 2023-07-07 10:37 ` [Bug tree-optimization/94675] [11/12/13/14 " rguenth at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-94675-4-ATMpcOSrks@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).