[gdb/testsuite] Factor out lib/valgrind.exp
[external/binutils.git] / gdb / testsuite / gdb.base / info_qt.c
1 /* This testcase is part of GDB, the GNU debugger.
2
3    Copyright 2018 Free Software Foundation, Inc.
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 typedef int entier;
19
20 int info_qt_inc = 0;
21 entier info_qt_ent = 0;
22
23 static void
24 setup_done (void)
25 {
26 }
27
28 static void
29 setup (char arg_c, int arg_i, int arg_j)
30 {
31   char loc_arg_c = arg_c;
32   int loc_arg_i = arg_i;
33   int loc_arg_j = arg_j;
34
35   info_qt_inc += loc_arg_c + loc_arg_i + loc_arg_j;
36   setup_done ();
37 }
38
39 void info_fun1 (void)
40 {
41   info_qt_inc++;
42   info_qt_ent++;
43 }
44
45 int info_fun2 (char c)
46 {
47   info_qt_inc += c;
48   return info_qt_inc;
49 }
50
51 int info_fun2bis (char c)
52 {
53   info_qt_inc += c;
54   return info_qt_inc;
55 }
56
57 entier info_fun2xxx (char arg_c, int arg_i, int arg_j)
58 {
59   info_qt_inc += arg_c + arg_i + arg_j;
60   return info_qt_inc;
61 }
62
63 entier info_fun2yyy (char arg_c, int arg_i, int arg_j)
64 {
65   setup (arg_c, arg_i, arg_j);
66   info_qt_inc += arg_c + arg_i + arg_j;
67   return info_qt_inc;
68 }
69
70 int
71 main (int argc, char **argv, char **envp)
72 {
73   info_fun1 ();
74   (void) info_fun2 ('a');
75   (void) info_fun2bis ('b');
76   (void) info_fun2xxx ('c', 1, 2);
77   (void) info_fun2yyy ('d', 3, 4);
78 }