1/* Testcase for the find command.
2   This testcase is part of GDB, the GNU debugger.
3
4   Copyright 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
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   Please email any bugs, comments, and/or additions to this file to:
20   bug-gdb@gnu.org  */
21
22#include <stdlib.h>
23#include <stdint.h>
24
25/* According to C99 <stdint.h> has to provide these identifiers as
26   types, but is also free to define macros shadowing the typedefs.
27   This is the case with some C library implementations.  Undefine
28   them to make sure the types are used and included in debug output.  */
29#undef int8_t
30#undef int16_t
31#undef int32_t
32#undef int64_t
33
34#define CHUNK_SIZE 16000 /* same as findcmd.c's */
35#define BUF_SIZE (2 * CHUNK_SIZE) /* at least two chunks */
36
37static int8_t int8_search_buf[100];
38static int16_t int16_search_buf[100];
39static int32_t int32_search_buf[100];
40static int64_t int64_search_buf[100];
41
42static char *search_buf;
43static int search_buf_size;
44
45static int x;
46
47static void
48stop_here ()
49{
50  x = 1; // stop here
51}
52
53static void
54init_bufs ()
55{
56  search_buf_size = BUF_SIZE;
57  search_buf = malloc (search_buf_size);
58  if (search_buf == NULL)
59    exit (1);
60  memset (search_buf, 'x', search_buf_size);
61}
62
63int
64main ()
65{
66  init_bufs ();
67
68  stop_here ();
69
70  /* Reference variables.  */
71  x = int8_search_buf[0];
72  x = int16_search_buf[0];
73  x = int32_search_buf[0];
74  x = int64_search_buf[0];
75
76  return 0;
77}
78