xref: /openbsd-src/gnu/usr.bin/binutils/gdb/testsuite/gdb.base/advance.c (revision b725ae7711052a2233e31a66fefb8a752c388d7a)
1*b725ae77Skettenis 
2*b725ae77Skettenis static int x;
3*b725ae77Skettenis 
foo(int a)4*b725ae77Skettenis int foo (int a)
5*b725ae77Skettenis {
6*b725ae77Skettenis   int b = a + 10;
7*b725ae77Skettenis   return b;
8*b725ae77Skettenis }
9*b725ae77Skettenis 
bar(int y)10*b725ae77Skettenis int bar (int y)
11*b725ae77Skettenis {
12*b725ae77Skettenis   int z = y + 20;
13*b725ae77Skettenis   return z;
14*b725ae77Skettenis }
15*b725ae77Skettenis 
func()16*b725ae77Skettenis void func()
17*b725ae77Skettenis {
18*b725ae77Skettenis   x = x + 5;
19*b725ae77Skettenis   func2 ();
20*b725ae77Skettenis }
21*b725ae77Skettenis 
func2()22*b725ae77Skettenis int func2 ()
23*b725ae77Skettenis {
24*b725ae77Skettenis   x = 6;
25*b725ae77Skettenis }
26*b725ae77Skettenis 
func3()27*b725ae77Skettenis int func3 ()
28*b725ae77Skettenis {
29*b725ae77Skettenis   x = 4;
30*b725ae77Skettenis }
31*b725ae77Skettenis 
marker1()32*b725ae77Skettenis void marker1 ()
33*b725ae77Skettenis {
34*b725ae77Skettenis }
35*b725ae77Skettenis 
36*b725ae77Skettenis int
main()37*b725ae77Skettenis main ()
38*b725ae77Skettenis {
39*b725ae77Skettenis   int result;
40*b725ae77Skettenis   int b, c;
41*b725ae77Skettenis   c = 5;
42*b725ae77Skettenis   b = 3;    /* advance this location */
43*b725ae77Skettenis 
44*b725ae77Skettenis   func (c); /* stop here after leaving current frame */
45*b725ae77Skettenis   marker1 (); /* stop here after leaving current frame */
46*b725ae77Skettenis   func3 (); /* break here */
47*b725ae77Skettenis   result = bar (b + foo (c));
48*b725ae77Skettenis   return 0; /* advance malformed */
49*b725ae77Skettenis }
50*b725ae77Skettenis 
51