1 /* PR tree-optimization/57149 */
2 /* { dg-do compile } */
3 /* { dg-options "-Os -Wuninitialized" } */
5 struct A
{ struct A
*a
, *b
; };
6 struct D
{ struct A e
; };
7 struct E
{ unsigned char f
; struct { struct A e
; } g
; };
8 struct F
{ struct E i
[32]; };
10 extern int fn0 (void);
11 extern int fn1 (struct E
*, struct D
*);
13 static inline __attribute__ ((always_inline
)) int
14 fn2 (const struct A
*x
)
26 for (l
= (struct D
*) x
->g
.e
.a
, m
= (struct D
*) l
->e
.a
;
28 l
= m
, m
= (struct D
*) m
->e
.a
)
34 fn4 (struct F
*x
, unsigned k
)
37 for (i
= 0; i
< k
; i
++)
39 struct E
*y
= &x
->i
[i
];
46 if (err
< 0) /* { dg-bogus "may be used uninitialized in this function" } */