1 /* PR middle-end/57344 */ 2 /* { dg-require-effective-target int32plus } */ 3 4 struct __attribute__((packed)) S 5 { 6 int a : 27; 7 #if __SIZEOF_INT__ * __CHAR_BIT__ >= 32 8 int b : 22; 9 #else 10 int b : 13; 11 #endif 12 char c; 13 int : 0; 14 } s[2]; 15 int i; 16 17 __attribute__((noinline, noclone)) void foo(int x)18foo (int x) 19 { 20 if (x != -3161) 21 __builtin_abort (); 22 asm volatile ("" : : : "memory"); 23 } 24 25 int main()26main () 27 { 28 struct S t = { 0, -3161L }; 29 s[1] = t; 30 for (; i < 1; i++) 31 foo (s[1].b); 32 return 0; 33 } 34