URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 297 |
Rev 338 |
/* http://gcc.gnu.org/ml/gcc-patches/2004-02/msg01307.html */
|
/* http://gcc.gnu.org/ml/gcc-patches/2004-02/msg01307.html */
|
|
|
typedef struct xdef xdef;
|
typedef struct xdef xdef;
|
struct xdef
|
struct xdef
|
{
|
{
|
char xtyp;
|
char xtyp;
|
xdef *next;
|
xdef *next;
|
int y;
|
int y;
|
};
|
};
|
|
|
extern void b ();
|
extern void b ();
|
extern void *foo (void *bar);
|
extern void *foo (void *bar);
|
extern void *foo2 (void *bar1, void *bar2);
|
extern void *foo2 (void *bar1, void *bar2);
|
extern void *qwe;
|
extern void *qwe;
|
|
|
static void
|
static void
|
c (xdef * xp)
|
c (xdef * xp)
|
{
|
{
|
b (xp);
|
b (xp);
|
}
|
}
|
static void
|
static void
|
a (xdef ** xpp)
|
a (xdef ** xpp)
|
{
|
{
|
xdef *xp;
|
xdef *xp;
|
xp = *xpp;
|
xp = *xpp;
|
|
|
foo (xp);
|
foo (xp);
|
xp = foo2 (xp, qwe);
|
xp = foo2 (xp, qwe);
|
b (xp->next);
|
b (xp->next);
|
foo (xp);
|
foo (xp);
|
if (xp->y)
|
if (xp->y)
|
{
|
{
|
foo (xp);
|
foo (xp);
|
if (xp)
|
if (xp)
|
{
|
{
|
xdef *p = foo2 (xp, qwe);
|
xdef *p = foo2 (xp, qwe);
|
foo2 (xp, p);
|
foo2 (xp, p);
|
xp = foo (p);
|
xp = foo (p);
|
}
|
}
|
else
|
else
|
{
|
{
|
foo2 (foo(*xpp), *xpp);
|
foo2 (foo(*xpp), *xpp);
|
}
|
}
|
}
|
}
|
*xpp = foo2 (xpp, qwe);
|
*xpp = foo2 (xpp, qwe);
|
}
|
}
|
|
|
void
|
void
|
b (xdef ** xpp)
|
b (xdef ** xpp)
|
{
|
{
|
xdef *xp = *xpp;
|
xdef *xp = *xpp;
|
if (!xp)
|
if (!xp)
|
return;
|
return;
|
if (xp->xtyp == 0)
|
if (xp->xtyp == 0)
|
a (xpp);
|
a (xpp);
|
c (xp);
|
c (xp);
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.