1 /* PR target/39226 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2" } */
4 /* { dg-options "-O2 -mtune=cell -mminimal-toc" { target { powerpc*-*-* && lp64 } } } */
5
6 #if (__SIZEOF_INT__ == 2)
7 struct A
8 {
9 char *a;
10 unsigned int b : 1;
11 unsigned int c : 15;
12 };
13 #else
14 struct A
15 {
16 char *a;
17 unsigned int b : 1;
18 unsigned int c : 31;
19 };
20 #endif
21
22 struct B
23 {
24 struct A *d;
25 };
26
27 void
foo(struct B * x,unsigned long y)28 foo (struct B *x, unsigned long y)
29 {
30 if (x->d[y].c)
31 return;
32 if (x->d[y].b)
33 x->d[y].a = 0;
34 }
35