1 /* PR middle-end/41837 */ 2 /* { dg-do compile } */ 3 /* { dg-options "-fipa-struct-reorg -O -fwhole-program -fprofile-generate" } */ 4 5 typedef struct { int a, b; } T1; 6 typedef struct S1 *T2; 7 typedef struct S2 *T3; 8 typedef struct S3 *T4; 9 typedef struct S4 *T5; 10 struct S4 { union { int c; } d; }; 11 struct S2 { int e; T2 f; int g; }; 12 typedef struct { T3 h; } T6; 13 typedef struct { int i; } *T7; 14 struct S3 { T6 j; T7 k; }; 15 16 void f1(T4 x)17f1 (T4 x) 18 { 19 if (!x->j.h->e) 20 f5 (x); 21 } 22 23 void f2(void)24f2 (void) 25 { 26 f6 (f1); 27 } 28 29 void f3(T5 x,T1 * y)30f3 (T5 x, T1 *y) 31 { 32 } 33 34 void f4(void)35f4 (void) 36 { 37 f7 (f3); 38 } 39