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 middle-end/101134] Bogus -Wstringop-overflow warning about non-existent overflow Date: Mon, 21 Jun 2021 16:10:32 +0000 [thread overview] Message-ID: <bug-101134-4-3clLs97r9y@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-101134-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101134 Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |WONTFIX Status|UNCONFIRMED |RESOLVED --- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> --- GCC cannot determine every arbitrarily complex invariant in a complex program. If a precondition must be true true that a flow-dependent warning doesn't know about then asserting it usually both avoids the warning and improves codegen. In the test case adding either of the two assertions below has that effect: res = func(str, src, size); if (size <= 0) __builtin_unreachable (); str->data()[size - 1] = '\0'; ... // If we get here, dest was completely filled (dest == end) if (dest == destBuf->data ()) __builtin_unreachable (); *(dest-1) = 0; return (dest-begin); In future releases, as optimizations improve GCC may be able to determine more preconditions and the warning might disappear on its own as well.
next prev parent reply other threads:[~2021-06-21 16:10 UTC|newest] Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-06-19 9:52 [Bug middle-end/101134] New: " dangelog at gmail dot com 2021-06-21 16:10 ` msebor at gcc dot gnu.org [this message] 2021-06-21 16:44 ` [Bug middle-end/101134] " dangelog at gmail dot com 2021-06-21 20:40 ` msebor at gcc dot gnu.org 2021-06-22 8:57 ` dangelog at gmail dot com 2021-06-22 15:27 ` msebor at gcc dot gnu.org 2021-06-22 16:34 ` dangelog at gmail dot com 2021-06-23 19:56 ` msebor at gcc dot gnu.org 2021-06-24 14:07 ` dangelog at gmail dot com 2021-06-24 17:05 ` segher at gcc dot gnu.org 2021-06-24 17:57 ` rsandifo at gcc dot gnu.org 2021-06-24 19:36 ` dmalcolm at gcc dot gnu.org 2021-06-24 21:18 ` msebor at gcc dot gnu.org 2021-06-24 22:18 ` dangelog at gmail dot com 2022-03-17 10:18 ` redi 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-101134-4-3clLs97r9y@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).