1 /* { dg-do run } */
2 /* { dg-require-effective-target section_anchors } */
3 /* { dg-options "-O2 -fsection-anchors -ftree-loop-vectorize" } */
4
5 #pragma pack(1)
6 struct S0 {
7 volatile int f0:12;
8 } static a[] = {{15}}, c[] = {{15}};
9
10 struct S0 b[] = {{7}};
11
12 int __attribute__ ((noinline, noclone))
13 ok (int a, int b, int c)
14 {
15 return a == 15 && b == 7 && c == 15 ? 0 : 1;
16 }
17
18 int
19 main (void)
20 {
21 struct S0 *f[] = { c, b };
22
23 return ok (a[0].f0, b[0].f0, f[0]->f0);
24 }