Imported Upstream version 4.8.1
[platform/upstream/gcc48.git] / gcc / testsuite / gcc.dg / torture / pr54109.c
1 /* { dg-do compile } */
2
3 typedef struct
4 {
5   unsigned long bits[4];
6 } nodemask_t;
7
8 struct cpuset
9 {
10   long flags;
11   nodemask_t mems_allowed;
12   struct cpuset *parent;
13 } b;
14
15 void func1(unsigned long *p1, int p2)
16 {
17   p1[p2 - 1] = 0;
18 }
19
20 void func2(nodemask_t *p1, int p2)
21 {
22   func1(p1->bits, p2);
23 }
24
25 void func3(void)
26 {
27   /* This accesses b.flags.  */
28   func2(&b.mems_allowed, 0);
29 }