1 /* { dg-do compile } */
2 /* { dg-options "-O2 -mlong-calls" } */
3 /* { dg-final { scan-assembler-times "\\tcall\[p\]*\[\\t ]*.s" 3 } } */
4 /* { dg-final { scan-assembler "call\[p\]*\[\\t ]*.s.\[\\t ]*.f" } } */
5 /* { dg-final { scan-assembler-not "call\[p\]*\[\\t ]*.s.\[\\t ]*.g" } } */
6 /* { dg-final { scan-assembler-not "call\[p\]*\[\\t ]*.s.\[\\t ]*.h" } } */
7
8 int x;
9
f()10 static __attribute__ ((noinline)) void f ()
11 {
12 x = 5;
13 }
14
15 extern void g ();
16
h()17 static __attribute__ ((noinline)) __attribute__((section(".init.text"))) void h ()
18 {
19 x = 5;
20 }
21
bar()22 int bar ()
23 {
24 f ();
25 g ();
26 h ();
27 }
28