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