1 /* PR middle-end/52979 */
2 
3 /* { dg-require-effective-target int32plus } */
4 
5 extern void abort (void);
6 int c, d, e;
7 
8 void
foo(void)9 foo (void)
10 {
11 }
12 
13 struct __attribute__((packed)) S { int g : 31; int h : 6; };
14 struct S a = { 1 };
15 static struct S b = { 1 };
16 
17 void
bar(void)18 bar (void)
19 {
20   a.h = 1;
21   struct S f = { };
22   b = f;
23   e = 0;
24   if (d)
25     c = a.g;
26 }
27 
28 void
baz(void)29 baz (void)
30 {
31   bar ();
32   a = b;
33 }
34 
35 int
main()36 main ()
37 {
38   baz ();
39   if (a.g)
40     abort ();
41   return 0;
42 }
43