Updating to version 1.3, release made by Mike Vanier (mvanier@bbb.caltech.edu).
[gnushogi.git] / gnushogi / debug.h
blobc708628e4bd7eb3b06c2fa4512d6fcb6dcd5595f
1 /*
2 * FILE: debug.h
4 * Various macros to help in debugging.
6 * ----------------------------------------------------------------------
7 * Copyright (c) 1993, 1994, 1995 Matthias Mutz
8 * Copyright (c) 1999 Michael Vanier and the Free Software Foundation
10 * GNU SHOGI is based on GNU CHESS
12 * Copyright (c) 1988, 1989, 1990 John Stanback
13 * Copyright (c) 1992 Free Software Foundation
15 * This file is part of GNU SHOGI.
17 * GNU Shogi is free software; you can redistribute it and/or modify it
18 * under the terms of the GNU General Public License as published by the
19 * Free Software Foundation; either version 1, or (at your option) any
20 * later version.
22 * GNU Shogi is distributed in the hope that it will be useful, but WITHOUT
23 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
24 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
25 * for more details.
27 * You should have received a copy of the GNU General Public License along
28 * with GNU Shogi; see the file COPYING. If not, write to the Free
29 * Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
30 * ----------------------------------------------------------------------
34 /* Some of this code requires gcc. */
37 #ifndef _DEBUG_H_
38 #define _DEBUG_H_
41 * Define simple macros PRINT_ENTER and PRINT_EXIT to print info when
42 * a function is entered or left. They only work if DEBUG is #defined.
43 * This requires gcc. You have to invoke them with a semicolon after them,
44 * like this:
46 * PRINT_ENTER;
47 * PRINT_EXIT;
49 * This is so as not to screw up automatic indentation in emacs.
52 #if (defined __GNUC__)
54 # define PRINT_ENTER printf("Entering function: %s().\n", __FUNCTION__)
55 # define PRINT_EXIT printf("Exiting function: %s().\n", __FUNCTION__)
57 #else
59 # define PRINT_ENTER
60 # define PRINT_EXIT
62 #endif /* __GNUC__ */
64 /* Function inlining; not all C compilers support this. */
65 #if (!defined __GNUC__)
66 # define inline
67 #endif
69 #endif /* _DEBUG_H_ */