OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.dg/] [tree-ssa/] [tailcall-3.c] - Diff between revs 816 and 826

Only display areas with differences | Details | Blame | View Log

Rev 816 Rev 826
/* The return argument needs a type conversion which on some targets
/* The return argument needs a type conversion which on some targets
   (e.g. s390) needs additional code.  So it is invalid to do tail
   (e.g. s390) needs additional code.  So it is invalid to do tail
   call optimization here.  */
   call optimization here.  */
 
 
/* { dg-do compile } */
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-options "-O2" } */
 
 
extern void abort (void);
extern void abort (void);
 
 
long long __attribute__((noinline))
long long __attribute__((noinline))
foo ()
foo ()
{
{
  return 3;
  return 3;
}
}
 
 
int __attribute__((noinline))
int __attribute__((noinline))
boo ()
boo ()
{
{
  return foo ();
  return foo ();
}
}
 
 
int
int
main ()
main ()
{
{
  if (boo () != 3)
  if (boo () != 3)
    abort ();
    abort ();
}
}
 
 
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.