1 /* PR middle-end/89230 - Bogus uninited usage warning with printf
3 { dg-options "-O2 -Wall" } */
5 typedef __SIZE_TYPE__
size_t;
7 extern void* memset (void*, int, size_t);
8 extern int printf (const char*, ...);
9 extern int rand (void);
23 void getblk (void* blk
)
25 struct S
* s
= (struct S
*) blk
;
30 struct H
* gethdr (void* blk
)
33 return rand () & 1 ? (struct H
*) blk
: 0;
38 char blk
[512], tmp
[512];
39 struct S
*s
= (struct S
*) blk
;
44 if (s
->a
|| !(h
= gethdr (tmp
)) || s
->a
!= h
->d
) {
46 printf ("%d\n", s
->b
);
48 printf ("s->a = %d\n", s
->a
);
52 printf ("h->d = %d\n", h
->d
);