predicate aware uninitialized analysis
[official-gcc.git] / gcc / testsuite / gcc.dg / uninit-5.c
blobdf2a27c4472eae4f530e7b150f584162ec276407
1 /* Spurious uninitialized-variable warnings. */
2 /* Disable jump threading, etc to test compiler analysis. */
3 /* { dg-do compile } */
4 /* { dg-options "-O -Wuninitialized -fno-tree-dce -fno-tree-vrp -fno-tree-dominator-opts" } */
6 extern void use(int);
7 extern void foo(void);
9 void
10 func1(int cond)
12 int x; /* { dg-bogus "x" "uninitialized variable warning" } */
14 if(cond)
15 x = 1;
17 foo();
19 if(cond)
20 use(x);
23 void
24 func2 (int cond)
26 int x; /* { dg-bogus "x" "uninitialized variable warning" } */
27 int flag = 0;
29 if(cond)
31 x = 1;
32 flag = 1;
35 foo();
37 if(flag)
38 use(x);