aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/pr48929.c
blob: f085dc645aebbf63637126d38b5fdefe2f4dc9b9 (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
/*{ dg-options "-O  -findirect-inlining" }*/
void bar ();

static void
f4 (double di, double d, double *dd)
{
  if (d == 0 && di == 0)
    *dd = 0;
  bar ();
}

static inline void
f3 (int i, double d)
{
  double di = i;
  double dd;
  f4 (di, d, &dd);
}

static inline void
f2 (int i, double d)
{
  if (d < 0)
    f3 (i, d);
}

void
f1 ()
{
  f2 (0, 1);
}