aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr59047.c
blob: fcedfcba870d6f6559b82bdde9d063b32a39b8c4 (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
30
31
32
33
34
35
36
37
38
39
/* { dg-do run } */

extern void abort (void);

struct
{
  int f0;
  int f1:1;
  int f2:2;
} a = {0, 0, 1};

int b, c, *d, e, f;

int
fn1 ()
{
  for (; b < 1; ++b)
    {
      for (e = 0; e < 1; e = 1)
	{
	  int **g = &d;
	  *g = &c;
	} 
      *d = 0;
      f = a.f1;
      if (f)
	return 0;
    }
  return 0;
}

int
main ()
{
  fn1 ();
  if (b != 1)
    abort ();
  return 0;
}