1 /* PR middle-end/44974 */ 2 /* { dg-do compile } */ 3 /* { dg-options "-O -fno-optimize-sibling-calls" } */ 4 5 extern void foo (int status) __attribute__ ((__noreturn__,__noinline__)); 6 extern void bar (int status) __attribute__ ((__noreturn__,__noinline__)); 7 extern void _Exit (int status) __attribute__ ((__noreturn__,__noinline__)); 8 9 void foo(int status)10foo (int status) 11 { 12 _Exit (status); 13 } 14 15 void _Exit(int status)16_Exit (int status) 17 { 18 bar (status); 19 } 20 21 /* { dg-final { scan-assembler "call\[^\n\]*_Exit" { target i?86-*-* x86_64-*-* ia64-*-* sparc*-*-* } } } */ 22 /* { dg-final { scan-assembler "bl\[^\n\]*_Exit" { target powerpc*-*-* } } } */ 23 /* { dg-final { scan-assembler "brasl\[^\n\]*_Exit" { target { s390*-*-* && lp64 } } } } */ 24