1 /* PR middle-end/59138 */ 2 /* Testcase by John Regehr <regehr@cs.utah.edu> */ 3 4 extern void abort (void); 5 6 #pragma pack(1) 7 8 struct S0 { 9 int f0; 10 int f1; 11 int f2; 12 short f3; 13 }; 14 15 short a = 1; 16 17 struct S0 b = { 1 }, c, d, e; 18 fn1()19struct S0 fn1() { return c; } 20 fn2(void)21void fn2 (void) 22 { 23 b = fn1 (); 24 a = 0; 25 d = e; 26 } 27 main(void)28int main (void) 29 { 30 fn2 (); 31 if (a != 0) 32 abort (); 33 return 0; 34 } 35