Reviewed and approved by Jim Blandy
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.base / call-sc.c
1 /* This testcase is part of GDB, the GNU debugger.
2
3 Copyright 2004 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 2 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, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19 */
20
21 /* Useful abreviations. */
22 typedef void t;
23 typedef char tc;
24 typedef short ts;
25 typedef int ti;
26 typedef long tl;
27 typedef long long tll;
28 typedef float tf;
29 typedef double td;
30 typedef long double tld;
31 typedef enum { e = '1' } te;
32
33 /* Force the type of each field. */
34 #ifndef T
35 typedef t T;
36 #endif
37
38 T foo = '1', L;
39
40 T fun()
41 {
42 return foo;
43 }
44
45 #ifdef PROTOTYPES
46 void Fun(T foo)
47 #else
48 void Fun(foo)
49 T foo;
50 #endif
51 {
52 L = foo;
53 }
54
55 zed ()
56 {
57 L = 'Z';
58 }
59
60 int main()
61 {
62 #ifdef usestubs
63 set_debug_traps();
64 breakpoint();
65 #endif
66 int i;
67
68 Fun(foo);
69
70 /* An infinite loop that first clears all the variables and then
71 calls the function. This "hack" is to make re-testing easier -
72 "advance fun" is guaranteed to have always been preceeded by a
73 global variable clearing zed call. */
74
75 zed ();
76 while (1)
77 {
78 L = fun ();
79 zed ();
80 }
81
82 return 0;
83 }
This page took 0.031126 seconds and 4 git commands to generate.