rt_gccstream/gcc/testsuite/gcc.dg/uninit-pred-5_a.c

42 lines
555 B
C

/* { dg-do compile } */
/* { dg-options "-Wuninitialized -O2" } */
int g;
int bar();
int blah(int);
void t(int);
__attribute__((always_inline))
int foo (int n, int* v, int r)
{
int flag = 0;
if (r > n)
{
*v = bar();
flag = 1;
}
if (n > g)
g++;
else
bar();
return flag;
}
int a[100];
int b[100];
int blah(int n)
{
int i;
for (i = 0 ; i < n; i++)
{
int v;
if (!foo (n, &v, b[i]))
return 0;
t (v); /* { dg-bogus "uninitialized" "bogus warning" } */
}
return 1;
}