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