summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr52881.c
blob: c101c80338da8851ebdcfbc537b29437380f2e8c (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
/* { dg-do compile } */

int a, b, c, d, e, f, h, i, j, k, l, m, n, o;
static int g;
int
fn1 () {
    for (;; ++f)
      if (e)
	break;
    return 0;
}
unsigned char fn2 ();
void
fn3 () {
lbl_220:
    if (j) {
lbl_221:
	l = (g || b) <= fn1 ();
	for (;;) {
	    g = 0;
	    fn2 ();
	    if (k)
	      goto lbl_220;
	    break;
	}
	if (l)
	  goto lbl_221;
    }
}
unsigned char
fn2 () {
    o = d ? 0 : c;
    h = m | a % o != n;
    return i;
}