111
|
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
|
|
20 void foo()
|
|
21 {
|
|
22 y[1] = x[1];
|
|
23 }
|
|
24
|
|
25 int main()
|
|
26 {
|
|
27 foo();
|
|
28
|
|
29 if (y[0].int24 != 0 || y[2].int24 != 0)
|
|
30 abort();
|
|
31 return 0;
|
|
32 }
|
|
33
|