public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "redbeard0531 at gmail dot com" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/105534] New: -Wmaybe-uninitialized shouldn't suppress -Wuninitialized warnings Date: Mon, 09 May 2022 12:22:06 +0000 [thread overview] Message-ID: <bug-105534-4@http.gcc.gnu.org/bugzilla/> (raw) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105534 Bug ID: 105534 Summary: -Wmaybe-uninitialized shouldn't suppress -Wuninitialized warnings Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: redbeard0531 at gmail dot com Target Milestone: --- The following function emits a -Wuninitialized warning on ++count with -Wall https://godbolt.org/z/KfaMEETY1: int test(bool cond) { int count; ++count; return count; } Making the increment be conditional changes it to a -Wmaybe-uninitialized warning, which is suppressed with -Wno-maybe-uninitialized. https://godbolt.org/z/qarMrqW7E int test(bool cond) { int count; if (cond) ++count; return count; } This makes no sense. count is never initialized on any path through the function, and it is returned on all paths. We use -Wall with -Wno-maybe-uninitialized on our codebase because we were getting too many false-positives with -Wmaybe-initialized, in particular from third-party headers that we didn't want to modify. At the time we decided to do that, we didn't realize that we would also be missing out on clearly uninitialized cases like this.
next reply other threads:[~2022-05-09 12:22 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-05-09 12:22 redbeard0531 at gmail dot com [this message] 2022-05-09 13:05 ` [Bug c++/105534] -Wmaybe-uninitialized cases " rguenth at gcc dot gnu.org 2022-05-09 13:21 ` rguenth at gcc dot gnu.org 2022-05-09 13:41 ` redbeard0531 at gmail dot com 2022-05-09 13:51 ` redbeard0531 at gmail dot com
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-105534-4@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).