/* Copyright 2002, 2004, 2007 Free Software Foundation, Inc. This file is part of GDB. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* * Test GDB's ability to save and reload a corefile. */ #include #include int extern_array[4] = {1, 2, 3, 4}; static int static_array[4] = {5, 6, 7, 8}; static int un_initialized_array[4]; static char *heap_string; void terminal_func () { return; } void array_func () { int local_array[4]; int i; heap_string = (char *) malloc (80); strcpy (heap_string, "I'm a little teapot, short and stout..."); for (i = 0; i < 4; i++) { un_initialized_array[i] = extern_array[i] + 8; local_array[i] = extern_array[i] + 12; } terminal_func (); } #ifdef PROTOTYPES int factorial_func (int value) #else int factorial_func (value) int value; #endif { if (value > 1) { value *= factorial_func (value - 1); } array_func (); return (value); } main() { factorial_func (6); return 0; }