/* PR target/39226 */ | |
/* { dg-do compile } */ | |
/* { dg-options "-O2" } */ | |
/* { dg-options "-O2 -mtune=cell -mminimal-toc" { target { powerpc*-*-* && lp64 } } } */ | |
#if (__SIZEOF_INT__ == 2) | |
struct A | |
{ | |
char *a; | |
unsigned int b : 1; | |
unsigned int c : 15; | |
}; | |
#else | |
struct A | |
{ | |
char *a; | |
unsigned int b : 1; | |
unsigned int c : 31; | |
}; | |
#endif | |
struct B | |
{ | |
struct A *d; | |
}; | |
void | |
foo (struct B *x, unsigned long y) | |
{ | |
if (x->d[y].c) | |
return; | |
if (x->d[y].b) | |
x->d[y].a = 0; | |
} |