40 lines
620 B
C
40 lines
620 B
C
/* 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);
|
|
}
|