Add new test to verify that the array index, limit, and stride are
[official-gcc.git] / gcc / testsuite / gcc.dg / uninit-pr19430-O0.c
blob4ce258653d6d55435577d8897d8a8deb5524bd00
1 /* { dg-do compile } */
2 /* { dg-options "-O0 -Wuninitialized" } */
3 extern int bar (int);
4 extern void baz (int *);
6 int
7 foo (int i)
9 int j; /* { dg-warning "'j' may be used uninitialized in this function" "uninitialized" { xfail *-*-* } 9 } */
11 if (bar (i)) {
12 baz (&j);
13 } else {
16 return j;
20 int foo2( void ) {
21 int rc; /* { dg-warning "'rc' is used uninitialized in this function" "uninitialized" { xfail *-*-* } 21 } */
22 return rc;
23 *&rc = 0;
26 extern int printf(const char *, ...);
27 void frob(int *pi);
29 int main(void)
31 int i;
32 printf("i = %d\n", i); /* { dg-warning "'i' is used uninitialized in this function" "uninitialized" { xfail *-*-* } 32 } */
33 frob(&i);
35 return 0;
38 void foo3(int*);
39 void bar3(void) {
40 int x;
41 if(x) /* { dg-warning "'x' is used uninitialized in this function" "uninitialized" { xfail *-*-* } 41 } */
42 foo3(&x);