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