/* Spurious uninitialized-variable warnings. */ /* Disable jump threading, etc to test compiler analysis. */ /* { dg-do compile } */ /* { dg-options "-O -Wuninitialized -fno-tree-dce -fno-tree-vrp -fno-tree-dominator-opts" } */ extern void use(int); extern void foo(void); void func1(int cond) { int x; /* { dg-bogus "x" "uninitialized variable warning" } */ if(cond) x = 1; foo(); if(cond) use(x); } void func2 (int cond) { int x; /* { dg-bogus "x" "uninitialized variable warning" } */ int flag = 0; if(cond) { x = 1; flag = 1; } foo(); if(flag) use(x); }