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