X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcfg%2Fdebug.h;h=dde6af5e50f4dfb0df6047ec7fe3fa8422d5868d;hb=6e4c616ee215d5ed351b770d8fc31eb99e9911c0;hp=64dc8e4241f67c051d529c7f8f41e74626d73fed;hpb=1ecc7fdbb47d9bee8a66637d978408f4738224f4;p=bertos.git diff --git a/bertos/cfg/debug.h b/bertos/cfg/debug.h index 64dc8e42..dde6af5e 100644 --- a/bertos/cfg/debug.h +++ b/bertos/cfg/debug.h @@ -37,8 +37,8 @@ * diagnostic messages to a serial terminal or a JTAG debugger. * * \version $Id$ - * \author Bernardo Innocenti - */ + * \author Bernardo Innocenti + */ #ifndef BERTOS_DEBUG_H #define BERTOS_DEBUG_H @@ -46,6 +46,7 @@ #include #include + /* * Defaults for rarely used config stuff. */ @@ -58,67 +59,66 @@ #endif #if defined(__doxygen__) - /** - * Preprocessor symbol defined only for debug builds. - * - * The build infrastructure must arrange for _DEBUG to - * be predefined for all the source files being compiled. - * - * This is compatible with the MSVC convention for the - * default Debug and Release project targets. - */ - #define _DEBUG 1 + /** + * Preprocessor symbol defined only for debug builds. + * + * The build infrastructure must arrange for _DEBUG to + * be predefined for all the source files being compiled. + * + * This is compatible with the MSVC convention for the + * default Debug and Release project targets. + */ + #define _DEBUG 1 #endif #ifdef _DEBUG + // STLport specific: enable extra checks + #define __STL_DEBUG 1 - // STLport specific: enable extra checks - #define __STL_DEBUG 1 - - // MSVC specific: Enable memory allocation debug - #if defined(_MSC_VER) - #include - #endif + // MSVC specific: Enable memory allocation debug + #if defined(_MSC_VER) + #include + #endif - /* - * On UNIX systems the extabilished practice is to define - * NDEBUG for release builds and nothing for debug builds. - */ - #ifdef NDEBUG - #undef NDEBUG - #endif + /* + * On UNIX systems the extabilished practice is to define + * NDEBUG for release builds and nothing for debug builds. + */ + #ifdef NDEBUG + #undef NDEBUG + #endif - /** - * This macro duplicates the old MSVC trick of redefining - * THIS_FILE locally to avoid the overhead of many duplicate - * strings in ASSERT(). - */ - #ifndef THIS_FILE - #define THIS_FILE __FILE__ - #endif + /** + * This macro duplicates the old MSVC trick of redefining + * THIS_FILE locally to avoid the overhead of many duplicate + * strings in ASSERT(). + */ + #ifndef THIS_FILE + #define THIS_FILE __FILE__ + #endif - /** - * This macro can be used to conditionally exclude one or more - * statements conditioned on \c _DEBUG, avoiding the clutter - * of ifdef/endif pairs. - * - * \code - * struct FooBar - * { - * int foo; - * bool bar; - * DB(int ref_count;) // Track number of users - * - * void release() - * { - * DB(--ref_count;) - * } - * }; - * \endcode - */ - #define DB(x) x + /** + * This macro can be used to conditionally exclude one or more + * statements conditioned on \c _DEBUG, avoiding the clutter + * of ifdef/endif pairs. + * + * \code + * struct FooBar + * { + * int foo; + * bool bar; + * DB(int ref_count;) // Track number of users + * + * void release() + * { + * DB(--ref_count;) + * } + * }; + * \endcode + */ + #define DB(x) x - #include "cfg/cfg_debug.h" /* CONFIG_KDEBUG_ASSERT_NO_TEXT */ + #include "cfg/cfg_debug.h" /* CONFIG_KDEBUG_ASSERT_NO_TEXT */ #include /* CPU_HARVARD */ /* These are implemented in drv/kdebug.c */ @@ -186,6 +186,7 @@ #define TRACEMSG(...) do {} while(0) #endif + /** * \name Walls to detect data corruption * \{ @@ -304,7 +305,7 @@ #define kprintf(fmt,...) do { (void)(fmt); } while(0) #else /* ...but GCC can. */ - INLINE void kprintf(UNUSED_ARG(const char *, fmt), ...) { /* nop */ } + INLINE void kprintf(UNUSED_ARG(const char *, fmt), ...) { /* nop */ } #endif #endif /* _DEBUG */