annotate gcc/testsuite/gcc.dg/pr56341-1.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do run } */
kono
parents:
diff changeset
2 /* { dg-options "-fstrict-volatile-bitfields" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 extern void abort (void);
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 struct test0
kono
parents:
diff changeset
7 {
kono
parents:
diff changeset
8 unsigned char b1[2];
kono
parents:
diff changeset
9 } __attribute__((packed, aligned(2)));
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 struct test1
kono
parents:
diff changeset
12 {
kono
parents:
diff changeset
13 volatile unsigned long a1;
kono
parents:
diff changeset
14 unsigned char b1[4];
kono
parents:
diff changeset
15 } __attribute__((packed, aligned(2)));
kono
parents:
diff changeset
16
kono
parents:
diff changeset
17 struct test2
kono
parents:
diff changeset
18 {
kono
parents:
diff changeset
19 struct test0 t0;
kono
parents:
diff changeset
20 struct test1 t1;
kono
parents:
diff changeset
21 struct test0 t2;
kono
parents:
diff changeset
22 } __attribute__((packed, aligned(2)));
kono
parents:
diff changeset
23
kono
parents:
diff changeset
24 struct test2 xx;
kono
parents:
diff changeset
25 struct test2 *x1 = &xx;
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 #define MAGIC 0x12345678
kono
parents:
diff changeset
28
kono
parents:
diff changeset
29 void test0 (struct test2* x1)
kono
parents:
diff changeset
30 {
kono
parents:
diff changeset
31 x1->t1.a1 = MAGIC;
kono
parents:
diff changeset
32 }
kono
parents:
diff changeset
33
kono
parents:
diff changeset
34 int main()
kono
parents:
diff changeset
35 {
kono
parents:
diff changeset
36 test0 (x1);
kono
parents:
diff changeset
37 if (xx.t1.a1 != MAGIC)
kono
parents:
diff changeset
38 abort ();
kono
parents:
diff changeset
39 return 0;
kono
parents:
diff changeset
40 }