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