1 /* PR middle-end/17112 */
2 /* { dg-do run } */
3 /* { dg-require-effective-target int32plus } */
4 /* { dg-options "-O2" } */
5 
6 extern void abort(void);
7 
8 typedef struct {
9   int int24:24  __attribute__ ((packed));
10 } myint24;
11 
12 myint24 x[3] = {
13   0x123456,
14   0x789abc,
15   0xdef012
16 };
17 
18 myint24 y[3];  // starts out as zeros
19 
foo()20 void foo()
21 {
22   y[1] = x[1];
23 }
24 
main()25 int main()
26 {
27   foo();
28 
29   if (y[0].int24 != 0 || y[2].int24 != 0)
30     abort();
31   return 0;
32 }
33 
34