/* PR middle-end/55750 */ | |
extern void abort (void); | |
struct S | |
{ | |
int m : 1; | |
int n : 7; | |
} arr[2]; | |
__attribute__((noinline, noclone)) void | |
foo (unsigned i) | |
{ | |
arr[i].n++; | |
} | |
int | |
main () | |
{ | |
arr[0].m = -1; | |
arr[0].n = (1 << 6) - 1; | |
arr[1].m = 0; | |
arr[1].n = -1; | |
foo (0); | |
foo (1); | |
if (arr[0].m != -1 || arr[0].n != -(1 << 6) || arr[1].m != 0 || arr[1].n != 0) | |
abort (); | |
return 0; | |
} |