view gcc/testsuite/gcc.dg/tree-prof/pr49299-1.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line source

/* { dg-options "-O2" } */

__attribute__((noreturn)) void (*fn) (void);

volatile int v;

__attribute__((noreturn)) void
fn0 (void)
{
  __builtin_exit (0);
}

__attribute__((noreturn)) void
fn1 (void)
{
  __builtin_exit (1);
}

__attribute__((noinline, noclone)) void
setfn (__attribute__((noreturn)) void (*x) (void))
{
  fn = x;
}

int
main ()
{
  int i;
  if (v < 1)
    setfn (fn0);
  else
    setfn (fn1);
  fn ();
}