summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/pr49049.c
blob: a24b2a41c752d1f42741514bcb6f1b1795c41fb4 (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
__extension__ typedef unsigned long long int uint64_t;

static int
sub (int a, int b)
{
  return a - b;
}

static uint64_t
add (uint64_t a, uint64_t b)
{
  return a + b;
}

int *ptr;

int
foo (uint64_t arg1, int *arg2)
{
  int j;
  for (; j < 1; j++)
    {
      *arg2 |= sub ( sub (sub (j || 1 ^ 0x1, 1), arg1 < 0x1 <=
						   sub (1, *ptr & j)),
		     (sub ( j != 1 || sub (j && j, 1) >= 0,
		       add (!j > arg1, 0x35DLL))));
    }
}