Freeciv21
Develop your civilization from humble roots to a global empire
sanitycheck.h
Go to the documentation of this file.
1 /**************************************************************************
2  Copyright (c) 1996-2020 Freeciv21 and Freeciv contributors. This file is
3  __ __ part of Freeciv21. Freeciv21 is free software: you can
4 / \\..// \ redistribute it and/or modify it under the terms of the GNU
5  ( oo ) General Public License as published by the Free Software
6  \__/ Foundation, either version 3 of the License, or (at your
7  option) any later version. You should have received
8  a copy of the GNU General Public License along with Freeciv21. If not,
9  see https://www.gnu.org/licenses/.
10 **************************************************************************/
11 #pragma once
12 
13 #include "fc_types.h"
14 
15 #if IS_DEVEL_VERSION || defined(FREECIV_DEBUG)
16 #define SANITY_CHECKING
17 #endif
18 
19 #ifdef SANITY_CHECKING
20 #define sanity_check_city(x) \
21  real_sanity_check_city(x, __FILE__, __FUNCTION__, __FC_LINE__)
22 void real_sanity_check_city(struct city *pcity, const char *file,
23  const char *function, int line);
24 
25 #define sanity_check_tile(x) \
26  real_sanity_check_tile(x, __FILE__, __FUNCTION__, __FC_LINE__)
27 void real_sanity_check_tile(struct tile *ptile, const char *file,
28  const char *function, int line);
29 
30 #define sanity_check() real_sanity_check(__FILE__, __FUNCTION__, __FC_LINE__)
31 void real_sanity_check(const char *file, const char *function, int line);
32 
33 #else // SANITY_CHECKING
34 
35 #define sanity_check_city(x) (void) 0
36 #define sanity_check_tile(x) (void) 0
37 #define sanity_check() (void) 0
38 
39 #endif // SANITY_CHECKING
Definition: city.h:291
Definition: tile.h:42