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" } */
5
6 extern void use(int);
7 extern void foo(void);
8
9 void
func1(int cond)10 func1(int cond)
11 {
12 int x; /* { dg-bogus "x" "uninitialized variable warning" } */
13
14 if(cond)
15 x = 1;
16
17 foo();
18
19 if(cond)
20 use(x);
21 }
22
23 void
func2(int cond)24 func2 (int cond)
25 {
26 int x; /* { dg-bogus "x" "uninitialized variable warning" } */
27 int flag = 0;
28
29 if(cond)
30 {
31 x = 1;
32 flag = 1;
33 }
34
35 foo();
36
37 if(flag)
38 use(x);
39 }
40