1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| #ifndef SASS_DEBUG_H
| #define SASS_DEBUG_H
|
| #include <stdint.h>
|
| #ifndef UINT32_MAX
| #define UINT32_MAX 0xffffffffU
| #endif
|
| enum dbg_lvl_t : uint32_t {
| NONE = 0,
| TRIM = 1,
| CHUNKS = 2,
| SUBWEAVE = 4,
| WEAVE = 8,
| EXTEND_COMPOUND = 16,
| EXTEND_COMPLEX = 32,
| LCS = 64,
| EXTEND_OBJECT = 128,
| ALL = UINT32_MAX
| };
|
| #ifdef DEBUG
|
| #ifndef DEBUG_LVL
| const uint32_t debug_lvl = UINT32_MAX;
| #else
| const uint32_t debug_lvl = (DEBUG_LVL);
| #endif // DEBUG_LVL
|
| #define DEBUG_PRINT(lvl, x) if((lvl) & debug_lvl) { std::cerr << x; }
| #define DEBUG_PRINTLN(lvl, x) if((lvl) & debug_lvl) { std::cerr << x << std::endl; }
| #define DEBUG_EXEC(lvl, x) if((lvl) & debug_lvl) { x; }
|
| #else // DEBUG
|
| #define DEBUG_PRINT(lvl, x)
| #define DEBUG_PRINTLN(lvl, x)
| #define DEBUG_EXEC(lvl, x)
|
| #endif // DEBUG
|
| #endif // SASS_DEBUG
|
|