Mercurial > public > mercurial-scm > hg-stable
comparison contrib/python-zstandard/zstd/common/debug.h @ 42070:675775c33ab6
zstandard: vendor python-zstandard 0.11
The upstream source distribution from PyPI was extracted. Unwanted
files were removed.
The clang-format ignore list was updated to reflect the new source
of files.
The project contains a vendored copy of zstandard 1.3.8. The old
version was 1.3.6. This should result in some minor performance wins.
test-check-py3-compat.t was updated to reflect now-passing tests on
Python 3.8.
Some HTTP tests were updated to reflect new zstd compression output.
# no-check-commit because 3rd party code has different style guidelines
Differential Revision: https://phab.mercurial-scm.org/D6199
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 04 Apr 2019 17:34:43 -0700 |
parents | 73fef626dae3 |
children |
comparison
equal
deleted
inserted
replaced
42069:668eff08387f | 42070:675775c33ab6 |
---|---|
55 #if defined (__cplusplus) | 55 #if defined (__cplusplus) |
56 extern "C" { | 56 extern "C" { |
57 #endif | 57 #endif |
58 | 58 |
59 | 59 |
60 /* static assert is triggered at compile time, leaving no runtime artefact, | 60 /* static assert is triggered at compile time, leaving no runtime artefact. |
61 * but can only work with compile-time constants. | 61 * static assert only works with compile-time constants. |
62 * This variant can only be used inside a function. */ | 62 * Also, this variant can only be used inside a function. */ |
63 #define DEBUG_STATIC_ASSERT(c) (void)sizeof(char[(c) ? 1 : -1]) | 63 #define DEBUG_STATIC_ASSERT(c) (void)sizeof(char[(c) ? 1 : -1]) |
64 | 64 |
65 | 65 |
66 /* DEBUGLEVEL is expected to be defined externally, | 66 /* DEBUGLEVEL is expected to be defined externally, |
67 * typically through compiler command line. | 67 * typically through compiler command line. |
68 * Value must be a number. */ | 68 * Value must be a number. */ |
69 #ifndef DEBUGLEVEL | 69 #ifndef DEBUGLEVEL |
70 # define DEBUGLEVEL 0 | 70 # define DEBUGLEVEL 0 |
71 #endif | 71 #endif |
72 | 72 |
73 | |
74 /* DEBUGFILE can be defined externally, | |
75 * typically through compiler command line. | |
76 * note : currently useless. | |
77 * Value must be stderr or stdout */ | |
78 #ifndef DEBUGFILE | |
79 # define DEBUGFILE stderr | |
80 #endif | |
81 | |
82 | |
73 /* recommended values for DEBUGLEVEL : | 83 /* recommended values for DEBUGLEVEL : |
74 * 0 : no debug, all run-time functions disabled | 84 * 0 : release mode, no debug, all run-time checks disabled |
75 * 1 : no display, enables assert() only | 85 * 1 : enables assert() only, no display |
76 * 2 : reserved, for currently active debug path | 86 * 2 : reserved, for currently active debug path |
77 * 3 : events once per object lifetime (CCtx, CDict, etc.) | 87 * 3 : events once per object lifetime (CCtx, CDict, etc.) |
78 * 4 : events once per frame | 88 * 4 : events once per frame |
79 * 5 : events once per block | 89 * 5 : events once per block |
80 * 6 : events once per sequence (verbose) | 90 * 6 : events once per sequence (verbose) |
81 * 7+: events at every position (*very* verbose) | 91 * 7+: events at every position (*very* verbose) |
82 * | 92 * |
83 * It's generally inconvenient to output traces > 5. | 93 * It's generally inconvenient to output traces > 5. |
84 * In which case, it's possible to selectively enable higher verbosity levels | 94 * In which case, it's possible to selectively trigger high verbosity levels |
85 * by modifying g_debug_level. | 95 * by modifying g_debug_level. |
86 */ | 96 */ |
87 | 97 |
88 #if (DEBUGLEVEL>=1) | 98 #if (DEBUGLEVEL>=1) |
89 # include <assert.h> | 99 # include <assert.h> |
93 # endif | 103 # endif |
94 #endif | 104 #endif |
95 | 105 |
96 #if (DEBUGLEVEL>=2) | 106 #if (DEBUGLEVEL>=2) |
97 # include <stdio.h> | 107 # include <stdio.h> |
98 extern int g_debuglevel; /* here, this variable is only declared, | 108 extern int g_debuglevel; /* the variable is only declared, |
99 it actually lives in debug.c, | 109 it actually lives in debug.c, |
100 and is shared by the whole process. | 110 and is shared by the whole process. |
101 It's typically used to enable very verbose levels | 111 It's not thread-safe. |
102 on selective conditions (such as position in src) */ | 112 It's useful when enabling very verbose levels |
113 on selective conditions (such as position in src) */ | |
103 | 114 |
104 # define RAWLOG(l, ...) { \ | 115 # define RAWLOG(l, ...) { \ |
105 if (l<=g_debuglevel) { \ | 116 if (l<=g_debuglevel) { \ |
106 fprintf(stderr, __VA_ARGS__); \ | 117 fprintf(stderr, __VA_ARGS__); \ |
107 } } | 118 } } |