+++ /dev/null
-/* Origin: hp@bitrange.com
- Test that return values come out right from a 1000-level call chain to
- functions without parameters that each need at least one "long"
- preserved. Exposed problems related to the MMIX port. */
-
-long level = 0;
-extern long foo (void);
-extern long bar (void);
-
-#ifdef STACK_SIZE
-#define DEPTH ((STACK_SIZE) / 512 + 1)
-#else
-#define DEPTH 500
-#endif
-
-int
-main (void)
-{
- if (foo () == -42)
- exit (0);
-
- abort ();
-}
-
-long
-foo (void)
-{
- long tmp = ++level;
- return bar () + tmp;
-}
-
-long
-bar (void)
-{
- long tmp = level;
- return tmp > DEPTH - 1 ? -42 - tmp : foo () - tmp;
-}