1/* Spurious uninitialized-variable warnings. 2 These cases are documented as not working in the gcc manual. */ 3 4/* { dg-do compile } */ 5/* { dg-options "-O -Wuninitialized" } */ 6 7extern void use(int); 8extern void foo(void); 9 10void 11func1(int cond) 12{ 13 int x; /* { dg-bogus "x" "uninitialized variable warning" { xfail *-*-* } } */ 14 15 if(cond) 16 x = 1; 17 18 foo(); 19 20 if(cond) 21 use(x); 22} 23 24void 25func2 (int cond) 26{ 27 int x; /* { dg-bogus "x" "uninitialized variable warning" { xfail *-*-* } } */ 28 int flag = 0; 29 30 if(cond) 31 { 32 x = 1; 33 flag = 1; 34 } 35 36 foo(); 37 38 if(flag) 39 use(x); 40} 41