1*11efff7fSkettenis /* Copyright 2002, 2004 Free Software Foundation, Inc.
2*11efff7fSkettenis
3*11efff7fSkettenis This file is part of GDB.
4*11efff7fSkettenis
5*11efff7fSkettenis This program is free software; you can redistribute it and/or modify
6*11efff7fSkettenis it under the terms of the GNU General Public License as published by
7*11efff7fSkettenis the Free Software Foundation; either version 2 of the License, or (at
8*11efff7fSkettenis your option) any later version.
9*11efff7fSkettenis
10*11efff7fSkettenis This program is distributed in the hope that it will be useful, but
11*11efff7fSkettenis WITHOUT ANY WARRANTY; without even the implied warranty of
12*11efff7fSkettenis MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13*11efff7fSkettenis General Public License for more details.
14*11efff7fSkettenis
15*11efff7fSkettenis You should have received a copy of the GNU General Public License
16*11efff7fSkettenis along with this program; if not, write to the Free Software
17*11efff7fSkettenis Foundation, Inc., 59 Temple Place - Suite 330,
18*11efff7fSkettenis Boston, MA 02111-1307, USA. */
19*11efff7fSkettenis
20b725ae77Skettenis /*
21b725ae77Skettenis * Test GDB's ability to save and reload a corefile.
22b725ae77Skettenis */
23b725ae77Skettenis
24b725ae77Skettenis #include <stdlib.h>
25*11efff7fSkettenis #include <string.h>
26b725ae77Skettenis
27b725ae77Skettenis int extern_array[4] = {1, 2, 3, 4};
28b725ae77Skettenis static int static_array[4] = {5, 6, 7, 8};
29b725ae77Skettenis static int un_initialized_array[4];
30b725ae77Skettenis static char *heap_string;
31b725ae77Skettenis
32b725ae77Skettenis void
terminal_func()33b725ae77Skettenis terminal_func ()
34b725ae77Skettenis {
35b725ae77Skettenis return;
36b725ae77Skettenis }
37b725ae77Skettenis
38b725ae77Skettenis void
array_func()39b725ae77Skettenis array_func ()
40b725ae77Skettenis {
41b725ae77Skettenis int local_array[4];
42b725ae77Skettenis int i;
43b725ae77Skettenis
44b725ae77Skettenis heap_string = (char *) malloc (80);
45b725ae77Skettenis strcpy (heap_string, "I'm a little teapot, short and stout...");
46b725ae77Skettenis for (i = 0; i < 4; i++)
47b725ae77Skettenis {
48b725ae77Skettenis un_initialized_array[i] = extern_array[i] + 8;
49b725ae77Skettenis local_array[i] = extern_array[i] + 12;
50b725ae77Skettenis }
51b725ae77Skettenis terminal_func ();
52b725ae77Skettenis }
53b725ae77Skettenis
54b725ae77Skettenis #ifdef PROTOTYPES
factorial_func(int value)55b725ae77Skettenis int factorial_func (int value)
56b725ae77Skettenis #else
57b725ae77Skettenis int factorial_func (value)
58b725ae77Skettenis int value;
59b725ae77Skettenis #endif
60b725ae77Skettenis {
61b725ae77Skettenis if (value > 1) {
62b725ae77Skettenis value *= factorial_func (value - 1);
63b725ae77Skettenis }
64b725ae77Skettenis array_func ();
65b725ae77Skettenis return (value);
66b725ae77Skettenis }
67b725ae77Skettenis
main()68b725ae77Skettenis main()
69b725ae77Skettenis {
70b725ae77Skettenis factorial_func (6);
71b725ae77Skettenis return 0;
72b725ae77Skettenis }
73