/* This used to abort due to a loop bug on s390*.  */

/* { dg-do run } */
/* { dg-options "-O2" } */
/* { dg-options "-O2 -fPIC" { target s390*-*-* } } */

extern void abort (void);

int count = 0;
char *str;

void test (int flag)
{
  char *p;

  for (;;)
    {
      if (count > 5)
	return;

      p = "test";

      if (flag)
	count++;

      str = p;
    }
}

int main (void)
{
  test (1);

  if (str[0] != 't')
    abort ();

  return 0;
}

