summaryrefslogtreecommitdiff
path: root/support/regression/tests/gcc-torture-execute-pr68250.c
blob: 3643d5872c0cf072aaafbbe87e19e2587bf5c2c1 (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
/*
   pr68250.c from the execute part of the gcc torture tests.
 */

#include <testfwk.h>

#ifdef __SDCC
#pragma disable_warning 84
#endif

/* PR rtl-optimization/68250 */

signed char a, b, h, k, l, m, o;
short c, d, n;
int e, f, g, j, q;

void
fn1 (void)
{
  int p = b || a;
  n = o > 0 || d > 1 >> o ? d : d << o;
  for (; j; j++)
    m = c < 0 || m || c << p;
  l = f + 1;
  for (; f < 1; f = 1)
    k = h + 1;
}

void
fn2 (int k)
{
  ASSERT (k == 1);
}

void
testTortureExecute (void)
{
  signed char i;
  for (; e < 1; e++)
    {
      fn1 ();
      if (k)
        i = k;
      if (i > q)
        g = 0;
    }
  fn2 (k);
  return;
}