summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr80463.c
blob: cebf2fef1f32a3ea1ddbd26ff367ddc154577578 (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
53
54
/* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-g -O2 -fvar-tracking-assignments -fselective-scheduling2 -ftree-loop-vectorize -fnon-call-exceptions -fno-tree-vrp -fno-gcse-lm -fno-tree-loop-im -fno-reorder-blocks-and-partition -fno-reorder-blocks -fno-move-loop-invariants -w" } */

short int t2;
int cd, aa, ft;

void
dh (void)
{
  int qs = 0;

  if (t2 < 1)
    {
      int bq = 0;

      while (bq < 1)
        {
        }

      while (t2 < 1)
        {
          if (t2 == 0)
            {
              bq = 0;
              cd = !!cd;
            }
          else
            {
              bq = 1;
              cd = bq > qs;
            }

          t2 += cd;
          bq = (t2 / qs) == bq;

          if (aa != ft)
            {
              qs %= 0;
              while (bq != 0)
                {
 ro:
                  ;
                }
            }

          ++t2;
        }

 ia:
      goto ro;
    }

  goto ia;
}