predicate aware uninitialized analysis
[official-gcc.git] / gcc / testsuite / gcc.dg / uninit-pred-5_b.c
blob13f1e31f805fb97035a1edbeb0f6c9e06ec32fe7
1 /* { dg-do compile } */
2 /* { dg-options "-Wuninitialized -O2" } */
4 int g;
5 int bar();
6 int blah(int);
7 void t(int);
9 __attribute__((always_inline))
10 int foo (int n, int* v, int r)
12 int flag = 0;
13 if (r > n)
15 *v = bar();
16 flag = 1;
19 if (n > g)
20 g++;
21 else
22 bar();
24 return flag;
27 int a[100];
28 int b[100];
29 int blah(int n)
31 int i;
32 for (i = 0 ; i < n; i++)
34 int v;
35 if (foo (n, &v, b[i]))
36 return 0;
37 t (v); /* { dg-warning "uninitialized" "real warning" } */
39 return 1;