OSDN Git Service

PR middle-end/35456
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.c-torture / execute / 20010518-2.c
1 /* Mis-aligned packed structures.  */
2
3 typedef struct
4 {
5   char b0;
6   char b1;
7   char b2;
8   char b3;
9   char b4;
10   char b5;
11 } __attribute__ ((packed)) b_struct;
12
13
14 typedef struct
15 {
16   short a;
17   long b;
18   short c;
19   short d;
20   b_struct e;
21 } __attribute__ ((packed)) a_struct;
22
23
24 int
25 main(void)
26 {
27   volatile a_struct *a;
28   volatile a_struct b;
29
30   a = &b;
31   *a = (a_struct){1,2,3,4};
32   a->e.b4 = 'c';
33
34   if (a->a != 1 || a->b != 2 || a->c != 3 || a->d != 4 || a->e.b4 != 'c')
35     abort ();
36
37   exit (0);
38 }