OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.c-torture/] [compile/] [20040214-2.c] - Rev 826

Compare with Previous | Blame | View Log

/* http://gcc.gnu.org/ml/gcc-patches/2004-02/msg01307.html */
 
typedef struct xdef xdef;
struct xdef
{
  char xtyp;
  xdef *next;
  int y;
};
 
extern void b ();
extern void *foo (void *bar);
extern void *foo2 (void *bar1, void *bar2);
extern void *qwe;
 
static void
c (xdef * xp)
{
  b (xp);
}
static void
a (xdef ** xpp)
{
  xdef *xp;
  xp = *xpp;
 
  foo (xp);
  xp = foo2 (xp, qwe);
  b (xp->next);
  foo (xp);
  if (xp->y)
  {
    foo (xp);
    if (xp)
    {
      xdef *p = foo2 (xp, qwe);
      foo2 (xp, p);
      xp = foo (p);
    }
    else
    {
      foo2 (foo(*xpp), *xpp);
    }
  }
  *xpp = foo2 (xpp, qwe);
}
 
void
b (xdef ** xpp)
{
  xdef *xp = *xpp;
  if (!xp)
    return;
  if (xp->xtyp == 0)
    a (xpp);
  c (xp);
}
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.