]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/testsuite/gdb.python/py-framefilter.c
Update copyright year range in all GDB files
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.python / py-framefilter.c
CommitLineData
1e611234
PM
1/* This testcase is part of GDB, the GNU debugger.
2
3666a048 3 Copyright 2013-2021 Free Software Foundation, Inc.
1e611234
PM
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17
18#include <stdlib.h>
19
20void funca(void);
21int count = 0;
22
23typedef struct
24{
25 char *nothing;
26 int f;
27 short s;
28} foobar;
29
30void end_func (int foo, char *bar, foobar *fb, foobar bf)
31{
32 const char *str = "The End";
33 const char *st2 = "Is Near";
34 int b = 12;
35 short c = 5;
36
37 {
38 int d = 15;
39 int e = 14;
40 const char *foo = "Inside block";
41 {
42 int f = 42;
43 int g = 19;
44 const char *bar = "Inside block x2";
45 {
46 short h = 9;
47 h = h +1; /* Inner test breakpoint */
48 }
49 }
50 }
51
52 return; /* Backtrace end breakpoint */
53}
54
55void funcb(int j)
56{
57 struct foo
58 {
59 int a;
60 int b;
61 };
62
63 struct foo bar;
64
65 bar.a = 42;
66 bar.b = 84;
67
68 funca();
69 return;
70}
71
72void funca(void)
73{
74 foobar fb;
75 foobar *bf = NULL;
76
77 if (count < 10)
78 {
79 count++;
80 funcb(count);
81 }
82
83 fb.nothing = "Foo Bar";
84 fb.f = 42;
85 fb.s = 19;
86
d4bcee5c
PA
87 bf = (foobar *) alloca (sizeof (foobar));
88 bf->nothing = (char *) alloca (128);
1e611234
PM
89 bf->nothing = "Bar Foo";
90 bf->f = 24;
91 bf->s = 91;
92
93 end_func(21, "Param", bf, fb);
94 return;
95}
96
97
98void func1(void)
99{
100 funca();
101 return;
102}
103
104int func2(int f)
105{
106 int c;
107 const char *elided = "Elided frame";
108 foobar fb;
109 foobar *bf = NULL;
110
111 fb.nothing = "Elided Foo Bar";
112 fb.f = 84;
113 fb.s = 38;
114
d4bcee5c
PA
115 bf = (foobar *) alloca (sizeof (foobar));
116 bf->nothing = (char *) alloca (128);
1e611234
PM
117 bf->nothing = "Elided Bar Foo";
118 bf->f = 48;
119 bf->s = 182;
120
121 func1();
122 return 1;
123}
124
125void func3(int i)
126{
127 func2(i);
128
129 return;
130}
131
132int func4(int j)
133{
134 func3(j);
135
136 return 2;
137}
138
139int func5(int f, int d)
140{
141 int i = 0;
142 char *random = "random";
143 i=i+f;
144
145 func4(i);
146 return i;
147}
148
a267f3ad 149int
1e611234
PM
150main()
151{
152 int z = 32;
153 int y = 44;
154 const char *foo1 = "Test";
155 func5(3,5);
a267f3ad 156 return 0;
1e611234 157}