URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 297 |
Rev 338 |
/* A slight variation of 920501-7.c. */
|
/* A slight variation of 920501-7.c. */
|
|
|
#ifdef STACK_SIZE
|
#ifdef STACK_SIZE
|
#define DEPTH ((STACK_SIZE) / 512 + 1)
|
#define DEPTH ((STACK_SIZE) / 512 + 1)
|
#else
|
#else
|
#define DEPTH 1000
|
#define DEPTH 1000
|
#endif
|
#endif
|
|
|
#if ! defined (NO_LABEL_VALUES) && !defined (NO_TRAMPOLINES)
|
#if ! defined (NO_LABEL_VALUES) && !defined (NO_TRAMPOLINES)
|
x(a)
|
x(a)
|
{
|
{
|
__label__ xlab;
|
__label__ xlab;
|
void y(a)
|
void y(a)
|
{
|
{
|
void *x = &&llab;
|
void *x = &&llab;
|
if (a==-1)
|
if (a==-1)
|
goto *x;
|
goto *x;
|
if (a==0)
|
if (a==0)
|
goto xlab;
|
goto xlab;
|
llab:
|
llab:
|
y (a-1);
|
y (a-1);
|
}
|
}
|
y (a);
|
y (a);
|
xlab:;
|
xlab:;
|
return a;
|
return a;
|
}
|
}
|
#endif
|
#endif
|
|
|
main ()
|
main ()
|
{
|
{
|
#if ! defined (NO_LABEL_VALUES) && !defined (NO_TRAMPOLINES)
|
#if ! defined (NO_LABEL_VALUES) && !defined (NO_TRAMPOLINES)
|
if (x (DEPTH) != DEPTH)
|
if (x (DEPTH) != DEPTH)
|
abort ();
|
abort ();
|
#endif
|
#endif
|
exit (0);
|
exit (0);
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.