aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8.1/gcc/testsuite/gcc.dg/torture/pr48124-4.c
blob: fe9f97efc1f2d9c0a39f660fcd0c9fa22f592091 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* { dg-do run } */
/* { dg-require-effective-target int32plus } */

extern void abort (void);
struct S1 {
    unsigned f0, f1;
    unsigned short f2, f3;
    unsigned f4 : 16;
    unsigned f5, f6;
    volatile unsigned f7 : 28;
};
static struct S1 g_76;
static struct S1 g_245 = {0,0,0,0,0,0,0,1};
static signed char g_323 = 0x80;
static void func_1(void)
{
  g_245.f7 &= 1;
  for (g_323 = 0; g_323 <= -1; g_323 -= 2) {
      g_76 = g_76;
      g_76.f4 ^= 11;
  }
}
int main()
{
  func_1();
  if (g_323 != 0 || g_245.f7 != 1)
    abort ();
  return 0;
}