aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr56349.c
blob: dc9ed082b8f6aea6dc118bb639a5c907f6023357 (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
40
41
/* { dg-do compile } */

int a, b;
short c;

void f(void)
{
  int a = 0;
  int *k = 0;

  for(; a < 2; a++);

  if(!!(b |= a < 3) - 1)
    {
      if(0)
	for (;; a++)
	  {
	    for (; c; *k = 0);
lbl1:
	    ;
	  }

      for(; *k; k++)
	{
	  c = b ? : a;

	  if (c)
	    lbl2:
		b = 0;
	}
      goto lbl1;
    }

  for(;; b++)
    {
      if(b)
	goto lbl2;

      k = &b;
    }
}