aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr82129.c
blob: b1161491fe6d57e1995894936fa3d30b034361f8 (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
42
43
44
45
46
47
48
49
50
51
52
/* { dg-do compile } */
/* { dg-additional-options "-ftree-pre" } */

int pj;

void
g4 (unsigned long int *bc, unsigned long int *h5)
{
  if (pj != 0)
    {
      int ib = 0;

      while (bc != 0)
	{
m6:
	  for (pj = 0; pj < 2; ++pj)
	    pj = 0;

	  while (pj != 0)
	    {
	      for (;;)
		{
		}

	      while (ib != 0)
		{
		  unsigned long int tv = *bc;
		  unsigned long int n7;

		  *bc = 1;
		  while (*bc != 0)
		    {
		    }

ut:
		  if (pj == 0)
		    n7 = *h5 > 0;
		  else
		    {
		      *h5 = tv;
		      n7 = *h5;
		    }
		  ib += n7;
		}
	    }
	}

      goto ut;
    }

  goto m6;
}