1 /* { dg-do compile } */
2 /* { dg-options "-Wuninitialized -O2" } */
3 
4 int g;
5 void bar();
6 void blah(int);
7 
foo(int n,int m,int r)8 int foo (int n, int m, int r)
9 {
10   int flag = 0;
11   int v;
12 
13   if (n)
14     {
15       v = r;
16       flag = 1;
17     }
18 
19   if (m)
20     g++;
21   else
22     bar();
23 
24   if (r > 0)
25      goto use;
26   if (flag)
27     {
28 use:
29       blah(v); /* { dg-warning "uninitialized" "real warning" } */
30     }
31 
32   return 0;
33 }
34