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