1 /* Simple check that sibling calls are performed from a
2 void non-leaf-function taking one int argument calling itself.
4 Copyright (C) 2002 Free Software Foundation Inc.
5 Contributed by Hans-Peter Nilsson <hp@bitrange.com> */
8 /* { dg-options "-O2 -foptimize-sibling-calls" } */
10 /* The option -foptimize-sibling-calls is the default, but serves as
11 marker. Self-recursion tail calls are optimized for all targets,
12 regardless of presence of sibcall patterns. */
14 extern void abort (void);
15 extern void exit (int);
17 extern void recurser_void (int);
18 extern void track (int);
35 recurser_void (n
+ 1);
40 void __attribute__ ((noinline
))
46 trackpoint
= stackpos
;
47 else if (n
!= 7 || trackpoint
!= stackpos
)