------- Comment #2 from reichelt at gcc dot gnu dot org  2009-05-13 16:07 
-------
Confirmed (with "-m32 -O2 -g" on x86_64-unknown-linux-gnu). Reduced testcase:

======================================================
typedef struct A
{
  int i;
  struct A *p;
} A;

static int f1(A *t)
{
  if (t->i)
    return 0;
  return t->i;
}

static A *f2(A *t)
{
  if (t->i)
    return f2(t);
  else
    return t;
}

static int f3(A *t)
{
  return f1(f2(t));
}

static A *f4(A *t)
{
  if (f3(f2(t)))
    g0(0, 0, 0, 0);
  return t->p;
}

int f5(A *t)
{
  return f3(t);
}

static int f6(int *p, A *t)
{
  return g2(p, 0) || g3(t, 0) || f5(t) || g1(f4(t));
}

static int f7(A *t)
{
  return f6(&t->i, t);
}

int foo(A *t)
{
  return f7(t);
}
======================================================


-- 

reichelt at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2009-05-13 16:07:15
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40126

Reply via email to