summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr100810.c
blob: 63566f530f7300d7dd7c2ca49968d2673674bf87 (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
/* { dg-do run } */

int a, b = 1, c = 1, e, f = 1, g, h, j;
volatile int d;
static void k()
{
  int i;
  h = b;
  if (c && a >= 0) {
      while (a) {
	  i++;
	  h--;
      }
      if (g)
	for (h = 0; h < 2; h++)
	  ;
      if (!b)
	i &&d;
  }
}
static void l()
{
  for (; j < 1; j++)
    if (!e && c && f)
      k();
}
int main()
{
  if (f)
    l();
  if (h != 1)
    __builtin_abort();
  return 0;
}