9#ifndef CTAGS_MAIN_DEBUG_H
10#define CTAGS_MAIN_DEBUG_H
28# define debug(level) ((ctags_debugLevel & (long)(level)) != 0)
29# define DebugStatement(x) x
30# define PrintStatus(x) if (debug(DEBUG_STATUS)) printf x;
32# define Assert(c) do {} while(0)
33# define AssertNotReached() do {} while(0)
36# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
37# define ASSERT_FUNCTION __func__
39# define ASSERT_FUNCTION ((const char*)0)
41# define Assert(c) ((c) ? ((void)0) : debugAssert(#c, __FILE__, __LINE__, ASSERT_FUNCTION))
42# define AssertNotReached() Assert(!"The control reaches unexpected place")
45# define DebugStatement(x)
46# define PrintStatus(x)
47# define Assert(c) do {} while(0)
48# define AssertNotReached() do {} while(0)
56#define DISABLE_OBJPOOL
78extern
void debugPutc (const
int level, const
int c);
80extern
void debugCppNest (const
bool begin, const
unsigned int level);
86#define DEBUG_INIT() debugInit()
87extern void debugInit (
void);
88extern void debugIndent(
void);
89extern void debugInc(
void);
90extern void debugDec(
void);
92struct circularRefChecker;
93extern struct circularRefChecker * circularRefCheckerNew (
void);
94extern void circularRefCheckerDestroy (
struct circularRefChecker * checker);
95extern int circularRefCheckerCheck (
struct circularRefChecker *c,
void *
ptr);
96extern int circularRefCheckerGetCurrent (
struct circularRefChecker *c);
97extern void circularRefCheckClear (
struct circularRefChecker *c);
100#define DEBUG_INIT() do { } while(0)
void debugCppIgnore(const bool ignore)
void debugCppNest(const bool begin, const unsigned int level)
void debugPrintf(const enum eDebugLevels level, const char *const format,...)
void debugPutc(const int level, const int c)
void debugParseNest(const bool increase, const unsigned int level)
void debugEntry(const tagEntryInfo *const tag)
void debugAssert(const char *assertion, const char *file, unsigned int line, const char *function)
#define CTAGS_ATTR_PRINTF(s, f)