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