Ajla 0.1.0
[ajla.git] / debug.h
blobf38a8d9cc92736402df8358d1fd699141dc9eb98
1 /*
2 * Copyright (C) 2024 Mikulas Patocka
4 * This file is part of Ajla.
6 * Ajla is free software: you can redistribute it and/or modify it under the
7 * terms of the GNU General Public License as published by the Free Software
8 * Foundation, either version 3 of the License, or (at your option) any later
9 * version.
11 * Ajla is distributed in the hope that it will be useful, but WITHOUT ANY
12 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
13 * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along with
16 * Ajla. If not, see <https://www.gnu.org/licenses/>.
19 #ifndef HAVE_DEBUGLEVEL
20 #define HAVE_DEBUGLEVEL 1
21 #endif
23 /*#define DEBUG_BIST*/
24 /*#define DEBUG_INFO*/
25 /*#define DEBUG_ENV*/
27 #if HAVE_DEBUGLEVEL >= 1
28 #define DEBUG_TRACK_FILE_LINE
29 #define DEBUG_MEMORY_POSSIBLE
30 #define DEBUG_OBJECT_POSSIBLE
31 #define DEBUG_LOW_OVERHEAD
32 #endif
33 #if HAVE_DEBUGLEVEL >= 2
34 #define DEBUG_REFCOUNTS
35 #define DEBUG_LIST
36 #define DEBUG_RBTREE
37 #define DEBUG_ERROR
38 #define DEBUG
39 #endif
40 #if HAVE_DEBUGLEVEL >= 3
41 /*#define DEBUG_ALLOC_INSIDE_LOCKS currently, this doesn't work */
42 #define DEBUG_ARRAY_INDICES
43 #endif
45 /*#define DEBUG_THREAD_NONE*/
46 /*#define DEBUG_TRACE*/
47 /*#define DEBUG_NOINLINE*/
49 /*#define UNUSUAL_NO_TAGGED_POINTERS*/
50 /*#define UNUSUAL_DISABLE_INT128_T
51 #define UNUSUAL_ARITHMETICS
52 #define UNUSUAL_UNKNOWN_ENDIAN
53 #define UNUSUAL_REFCOUNTS
54 #define UNUSUAL_NO_ASSEMBLER
55 #define UNUSUAL_NO_ASSEMBLER_GOTO
56 #define UNUSUAL
57 #define UNUSUAL_THREAD
58 #define UNUSUAL_NO_MEMALIGN
59 #define UNUSUAL_NO_ARCH_TAGGED_POINTERS
60 #define UNUSUAL_MPINT_ARRAY_INDICES
61 #define UNUSUAL_NO_POINTER_COMPRESSION
62 #define UNUSUAL_SPINLOCK
63 #define UNUSUAL_NO_DIR_HANDLES*/