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