Commit | Line | Data |
---|---|---|
085dd6e6 | 1 | #include <stdlib.h> |
c906108c SS |
2 | /* Test that things still (sort of) work when compiled without -g. */ |
3 | ||
4 | int dataglobal = 3; /* Should go in global data */ | |
5 | static int datalocal = 4; /* Should go in local data */ | |
6 | int bssglobal; /* Should go in global bss */ | |
7 | static int bsslocal; /* Should go in local bss */ | |
8 | ||
085dd6e6 JM |
9 | #ifdef PROTOTYPES |
10 | int | |
11 | inner (int x) | |
12 | #else | |
c906108c SS |
13 | int |
14 | inner (x) | |
15 | int x; | |
085dd6e6 | 16 | #endif |
c906108c SS |
17 | { |
18 | return x + dataglobal + datalocal + bssglobal + bsslocal; | |
19 | } | |
20 | ||
085dd6e6 JM |
21 | #ifdef PROTOTYPES |
22 | static short | |
23 | middle (int x) | |
24 | #else | |
c906108c SS |
25 | static short |
26 | middle (x) | |
27 | int x; | |
085dd6e6 | 28 | #endif |
c906108c SS |
29 | { |
30 | return 2 * inner (x); | |
31 | } | |
32 | ||
085dd6e6 JM |
33 | #ifdef PROTOTYPES |
34 | short | |
35 | top (int x) | |
36 | #else | |
c906108c SS |
37 | short |
38 | top (x) | |
39 | int x; | |
085dd6e6 | 40 | #endif |
c906108c SS |
41 | { |
42 | return 2 * middle (x); | |
43 | } | |
44 | ||
085dd6e6 JM |
45 | #ifdef PROTOTYPES |
46 | int | |
47 | main (int argc, char **argv) | |
48 | #else | |
c906108c SS |
49 | int |
50 | main (argc, argv) | |
51 | int argc; | |
52 | char **argv; | |
085dd6e6 | 53 | #endif |
c906108c SS |
54 | { |
55 | #ifdef usestubs | |
56 | set_debug_traps(); | |
57 | breakpoint(); | |
58 | #endif | |
59 | return top (argc); | |
60 | } | |
61 | ||
c906108c SS |
62 | int *x; |
63 | ||
085dd6e6 JM |
64 | #ifdef PROTOTYPES |
65 | int array_index (char *arr, int i) | |
66 | #else | |
c906108c SS |
67 | int |
68 | array_index (arr, i) | |
69 | char *arr; | |
70 | int i; | |
085dd6e6 | 71 | #endif |
c906108c SS |
72 | { |
73 | /* The basic concept is just "return arr[i];". But call malloc so that gdb | |
74 | will be able to call functions. */ | |
75 | char retval; | |
76 | x = (int *) malloc (sizeof (int)); | |
77 | *x = i; | |
78 | retval = arr[*x]; | |
79 | free (x); | |
80 | return retval; | |
81 | } |