• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/gdb/gdb/testsuite/gdb.base/
1#include <stdlib.h>
2/* Test that things still (sort of) work when compiled without -g.  */
3
4int dataglobal = 3;			/* Should go in global data */
5static int datalocal = 4;		/* Should go in local data */
6int bssglobal;				/* Should go in global bss */
7static int bsslocal;			/* Should go in local bss */
8
9#ifdef PROTOTYPES
10int
11inner (int x)
12#else
13int
14inner (x)
15     int x;
16#endif
17{
18  return x + dataglobal + datalocal + bssglobal + bsslocal;
19}
20
21#ifdef PROTOTYPES
22static short
23middle (int x)
24#else
25static short
26middle (x)
27     int x;
28#endif
29{
30  return 2 * inner (x);
31}
32
33#ifdef PROTOTYPES
34short
35top (int x)
36#else
37short
38top (x)
39     int x;
40#endif
41{
42  return 2 * middle (x);
43}
44
45#ifdef PROTOTYPES
46int
47main (int argc, char **argv)
48#else
49int
50main (argc, argv)
51     int argc;
52     char **argv;
53#endif
54{
55#ifdef usestubs
56  set_debug_traps();
57  breakpoint();
58#endif
59  return top (argc);
60}
61
62int *x;
63
64#ifdef PROTOTYPES
65int array_index (char *arr, int i)
66#else
67int
68array_index (arr, i)
69     char *arr;
70     int i;
71#endif
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}
82