public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/60488] New: missing -Wmaybe-uninitialized on a conditional with goto
@ 2014-03-10 16:17 msebor at gmail dot com
  2014-06-25 19:43 ` [Bug middle-end/60488] " manu at gcc dot gnu.org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: msebor at gmail dot com @ 2014-03-10 16:17 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60488

            Bug ID: 60488
           Summary: missing -Wmaybe-uninitialized on a conditional with
                    goto
           Product: gcc
           Version: 4.8.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: msebor at gmail dot com

The -Wmaybe-uninitialized option is documented like so: "For an automatic
variable, if there exists a path from the function entry to a use of the
variable that is initialized, but there exist some other paths for which the
variable is not initialized, the compiler emits a warning if it cannot prove
the uninitialized paths are not executed at run time."

In the program below, when f(&a) returns zero, the variable b is considered to
have been initialized by the call to f(&b) when it's used as the argument in
the first call to g(b). However, when f(&a) returns non-zero, the variable b is
used uninitialized in the second call to g(b). Therefore, there exists a path
through the function where b is used initialized as well as one where it's used
uninitialized. Thus, GCC should issue a warning. It, however, does not.

$ cat t.c && gcc -O2 -Wuninitialized -Wmaybe-uninitialized -c -o/dev/null t.c
int f (int**);
void g (int*);

int foo (void) {
    int *a, *b;

    if (f (&a) || f (&b))
        goto end;

    g (a);
    g (b);
    return 0;
end:
    g (b);
    return 1;
}


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-04-06 19:59 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-10 16:17 [Bug c/60488] New: missing -Wmaybe-uninitialized on a conditional with goto msebor at gmail dot com
2014-06-25 19:43 ` [Bug middle-end/60488] " manu at gcc dot gnu.org
2014-06-25 19:44 ` manu at gcc dot gnu.org
2021-03-26 23:53 ` [Bug middle-end/60488] missing uninitialized warning (address taken, VOP) msebor at gcc dot gnu.org
2021-03-27  8:57 ` manu at gcc dot gnu.org
2021-03-29 17:43 ` msebor at gcc dot gnu.org
2021-03-30 16:25 ` manu at gcc dot gnu.org
2021-04-06 19:59 ` msebor at gcc dot gnu.org

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).