summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr88444.c
blob: 01b0d45ed835d11fc473df7d6f8920d37e40d0aa (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
/* PR tree-optimization/88444 */
/* { dg-do compile } */
/* { dg-options "-O1 -ftree-vrp -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre" } */

int v;

int
foo (int, int);

static inline int
bar (long int x)
{
  return !!x ? x : 1;
}

static inline void
baz (int x)
{
  v += foo (0, 0) + bar (x);
}

void
qux (void)
{
  int a = 0;
  v = v || foo (0, 0);
  v = v || foo (0, 0);
  v = v || foo (0, 0);
  baz (a);
}