2013-09-20 Chung-Lin Tang <cltang@codesourcery.com>
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.base / nodebug.c
1 #include <stdlib.h>
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
9 #ifdef PROTOTYPES
10 int
11 inner (int x)
12 #else
13 int
14 inner (x)
15 int x;
16 #endif
17 {
18 return x + dataglobal + datalocal + bssglobal + bsslocal;
19 }
20
21 #ifdef PROTOTYPES
22 static short
23 middle (int x)
24 #else
25 static short
26 middle (x)
27 int x;
28 #endif
29 {
30 return 2 * inner (x);
31 }
32
33 #ifdef PROTOTYPES
34 short
35 top (int x)
36 #else
37 short
38 top (x)
39 int x;
40 #endif
41 {
42 return 2 * middle (x);
43 }
44
45 #ifdef PROTOTYPES
46 int
47 main (int argc, char **argv)
48 #else
49 int
50 main (argc, argv)
51 int argc;
52 char **argv;
53 #endif
54 {
55 return top (argc);
56 }
57
58 int *x;
59
60 #ifdef PROTOTYPES
61 int array_index (char *arr, int i)
62 #else
63 int
64 array_index (arr, i)
65 char *arr;
66 int i;
67 #endif
68 {
69 /* The basic concept is just "return arr[i];". But call malloc so that gdb
70 will be able to call functions. */
71 char retval;
72 x = (int *) malloc (sizeof (int));
73 *x = i;
74 retval = arr[*x];
75 free (x);
76 return retval;
77 }
This page took 0.030602 seconds and 4 git commands to generate.