https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70736

            Bug ID: 70736
           Summary: false positive uninitialized warning
           Product: gcc
           Version: 5.3.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: willy6545 at gmail dot com
  Target Milestone: ---

This function reproduces the problem; yes it looks weird, but it's simplified
from a less weird function.

I compile it with 'gcc -O2 -Wmaybe-uninitialized'

void *foo(char *);
int main(int argc, char **argv)
{
        void *a = argv[0], *b;
        if (!a)
                return 0;
        do {
                if (a) {
                        b = a;
                        a = *argv++;
                }

                foo(b);
        } while (b);
        return 0;
}

gcc version 5.3.1 20160316 (Debian 5.3.1-12)

Reply via email to