111
|
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
|
|
10 foo (int status)
|
|
11 {
|
|
12 _Exit (status);
|
|
13 }
|
|
14
|
|
15 void
|
|
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 } } } } */
|