~ubuntu-branches/ubuntu/trusty/exuberant-ctags/trusty

1 by Colin Watson
Import upstream version 5.5.4
1
/*
1.1.2 by Colin Watson
Import upstream version 5.7
2
*   $Id: debug.h 558 2007-06-15 19:17:02Z elliotth $
1 by Colin Watson
Import upstream version 5.5.4
3
*
4
*   Copyright (c) 1998-2002, Darren Hiebert
5
*
6
*   This source code is released for free distribution under the terms of the
7
*   GNU General Public License.
8
*
9
*   External interface to debug.c
10
*/
11
#ifndef _DEBUG_H
12
#define _DEBUG_H
13
14
/*
15
*   Include files
16
*/
1.1.1 by Colin Watson
Import upstream version 5.6
17
#include "general.h"  /* must always come first */
1 by Colin Watson
Import upstream version 5.5.4
18
19
#ifdef DEBUG
20
# include <assert.h>
21
#endif
22
#include "entry.h"
23
24
/*
25
*   Macros
26
*/
27
28
#ifdef DEBUG
1.1.1 by Colin Watson
Import upstream version 5.6
29
# define debug(level)      ((Option.debugLevel & (long)(level)) != 0)
30
# define DebugStatement(x) x
31
# define PrintStatus(x)    if (debug(DEBUG_STATUS)) printf x;
32
# define Assert(c)         assert(c)
1 by Colin Watson
Import upstream version 5.5.4
33
#else
34
# define DebugStatement(x)
35
# define PrintStatus(x)
36
# define Assert(c)
37
# ifndef NDEBUG
38
#  define NDEBUG
39
# endif
40
#endif
41
42
/*
43
*   Data declarations
44
*/
45
46
/*  Defines the debugging levels.
47
 */
48
enum eDebugLevels {
1.1.1 by Colin Watson
Import upstream version 5.6
49
	DEBUG_READ   = 0x01,  /* echo raw (filtered) characters */
50
	DEBUG_PARSE  = 0x02,  /* echo parsing results */
51
	DEBUG_STATUS = 0x04,  /* echo file status information */
52
	DEBUG_OPTION = 0x08,  /* echo option parsing */
53
	DEBUG_CPP    = 0x10,  /* echo characters out of pre-processor */
54
	DEBUG_RAW    = 0x20   /* echo raw (filtered) characters */
1 by Colin Watson
Import upstream version 5.5.4
55
};
56
57
/*
58
*   Function prototypes
59
*/
60
extern void lineBreak (void);
61
extern void debugPrintf (const enum eDebugLevels level, const char *const format, ...) __printf__ (2, 3);
62
extern void debugPutc (const int level, const int c);
63
extern void debugParseNest (const boolean increase, const unsigned int level);
64
extern void debugCppNest (const boolean begin, const unsigned int level);
65
extern void debugCppIgnore (const boolean ignore);
66
extern void debugEntry (const tagEntryInfo *const tag);
67
1.1.1 by Colin Watson
Import upstream version 5.6
68
#endif  /* _DEBUG_H */
1 by Colin Watson
Import upstream version 5.5.4
69
1.1.1 by Colin Watson
Import upstream version 5.6
70
/* vi:set tabstop=4 shiftwidth=4: */