rt_gccstream/gcc/testsuite/gcc.target/bfin/longcall-1.c

34 lines
682 B
C

/* { dg-do compile { target bfin-*-* } } */
/* { dg-options "-O2" } */
/* { dg-final { scan-assembler-not "call\[^\\n\]*foo" } } */
/* { dg-final { scan-assembler-not "jump\[^\\n\]*foo" } } */
/* { dg-final { scan-assembler "call\[^\\n\]*baz" } } */
/* { dg-final { scan-assembler "jump\[^\\n\]*baz" } } */
/* { dg-final { scan-assembler "call\[^\\n\]*bar" } } */
/* { dg-final { scan-assembler "jump\[^\\n\]*bar" } } */
extern void foo () __attribute__((longcall));
extern void bar () __attribute__((shortcall));
extern void baz ();
int t1 ()
{
foo ();
bar ();
baz ();
return 4;
}
void t2 ()
{
foo ();
}
void t3 ()
{
bar ();
}
void t4 ()
{
baz ();
}