1/* { dg-do compile } */ 2/* { dg-options "-O0 -Wuninitialized" } */ 3extern int bar (int); 4extern void baz (int *); 5 6int 7foo (int i) 8{ 9 int j; /* { dg-warning "'j' may be used uninitialized in this function" "uninitialized" { xfail *-*-* } 9 } */ 10 11 if (bar (i)) { 12 baz (&j); 13 } else { 14 } 15 16 return j; 17} 18 19int foo2( void ) { 20 int rc; 21 return rc; /* { dg-warning "'rc' is used uninitialized in this function" } */ 22 *&rc = 0; 23} 24 25extern int printf(const char *, ...); 26void frob(int *pi); 27 28int main(void) 29{ 30 int i; 31 printf("i = %d\n", i); /* { dg-warning "'i' is used uninitialized in this function" } */ 32 frob(&i); 33 34 return 0; 35} 36 37void foo3(int*); 38void bar3(void) { 39 int x; 40 if(x) /* { dg-warning "'x' is used uninitialized in this function" } */ 41 foo3(&x); 42} 43