view gcc/testsuite/gcc.dg/ipa/ipcp-self-recursion-1.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
line wrap: on
line source

/* { dg-do run } */
/* { dg-options "-O3 -fno-early-inlining"  } */

int array[128];

volatile int v = 0;
volatile int blah = 0;
volatile int counter = 0;

int __attribute__((noipa))
obscured_one ()
{
  return 1;
}

static void
f (int c, int l)
{
  int i;
  for (i = 0; i < c; i++)
    array[i] = 455;

  counter++;
  if (counter > 6)
    __builtin_abort ();

  v = l;
  if (l > 0)
    f (c, l - 1);
  blah = l;
}

int
main (int argc, char *argv[])
{
  int i;
  for (i = 0; i < 100; i++)
    {
      counter = 0;
      f (0, 5);
      if (obscured_one ())
	break;
    }

  return 0;
}