/* setjmp vs alloca test case.  Exercised bug on sparc.  */

#include <stdio.h>
#include <setjmp.h>
#include <alloca.h>

static void
sub5 (jmp_buf buf)
{
  longjmp (buf, 1);
}

static void
test (int x)
{
  jmp_buf buf;
  char *foo;
  int arr[100];

  arr[77] = x;
  if (setjmp (buf))
    {
      printf ("made it ok; %d\n", arr[77]);
      return;
    }

  foo = (char *) alloca (128);
  sub5 (buf);
}

int
main (void)
{
  int i;

  for (i = 123; i < 345; ++i)
    test (i);

  return 0;
}
