/* { dg-do compile } */ | |
/* { dg-options "-Wuninitialized -Wno-attributes -O2" } */ | |
int g; | |
int bar(); | |
int blah(int); | |
void t(int); | |
static int | |
__attribute__((always_inline)) | |
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-warning "uninitialized" "real warning" } */ | |
} | |
return 1; | |
} | |