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)