OSDN Git Service

PR tree-optimization/52019
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / uninit-pred-4_a.c
1 /* { dg-do compile } */
2 /* { dg-options "-Wuninitialized -O2" } */
3
4 int g;
5 void bar();
6 void blah(int);
7 int foo (int n, int m, int r, int t)
8 {
9   int flag = 0;
10   int v;
11
12   if (t)
13     {
14       if (n)
15         {
16           v = r;    /* init path 1 */
17           flag = 1;
18         }
19
20       if (m)
21         g++;
22       else 
23         bar();
24
25       if (flag)  /* properly  guarded */
26         blah(v); /* { dg-bogus "uninitialized" "bogus warning" } */
27     }
28   else
29     {
30       v = r+1; /* init path 2 */
31       flag = 2;
32     }
33
34   if (m)
35     g++;
36   else 
37     bar();
38
39   if (flag)  /* properly guarded */
40     blah(v); /* { dg-bogus "uninitialized" "bogus warning" } */
41
42   return 0;
43 }