1 /* { dg-do run } */
2 /* { dg-require-effective-target int32plus } */
3 
4 extern void abort (void);
5 struct S1 {
6     unsigned f0, f1;
7     unsigned short f2, f3;
8     unsigned f4 : 16;
9     unsigned f5, f6;
10     volatile unsigned f7 : 28;
11 };
12 static struct S1 g_76;
13 static struct S1 g_245 = {0,0,0,0,0,0,0,1};
14 static signed char g_323 = 0x80;
func_1(void)15 static void func_1(void)
16 {
17   g_245.f7 &= 1;
18   for (g_323 = 0; g_323 <= -1; g_323 -= 2) {
19       g_76 = g_76;
20       g_76.f4 ^= 11;
21   }
22 }
main()23 int main()
24 {
25   func_1();
26   if (g_323 != 0 || g_245.f7 != 1)
27     abort ();
28   return 0;
29 }
30