handle _DEBUG/NDEBUG correctly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11744 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
b584b7d24a
commit
8b0bd21b3d
@ -16,6 +16,32 @@
|
|||||||
|
|
||||||
#include "wx/wxchar.h"
|
#include "wx/wxchar.h"
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// Defines controlling the debugging macros
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// if _DEBUG is defined (MS VC++ and others use it in debug builds), define
|
||||||
|
// __WXDEBUG__ too
|
||||||
|
#ifdef _DEBUG
|
||||||
|
#ifndef __WXDEBUG__
|
||||||
|
#define __WXDEBUG__
|
||||||
|
#endif // !__WXDEBUG__
|
||||||
|
#endif // _DEBUG
|
||||||
|
|
||||||
|
// if NDEBUG is defined (<assert.h> uses it), undef __WXDEBUG__ and WXDEBUG
|
||||||
|
#ifdef NDEBUG
|
||||||
|
#undef __WXDEBUG__
|
||||||
|
#undef WXDEBUG
|
||||||
|
#endif // NDEBUG
|
||||||
|
|
||||||
|
// if __WXDEBUG__ is defined, make sure that WXDEBUG is defined and >= 1
|
||||||
|
#ifdef __WXDEBUG__
|
||||||
|
#if !defined(WXDEBUG) || !WXDEBUG
|
||||||
|
#undef WXDEBUG
|
||||||
|
#define WXDEBUG 1
|
||||||
|
#endif // !WXDEBUG
|
||||||
|
#endif // __WXDEBUG__
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// Debugging macros
|
// Debugging macros
|
||||||
//
|
//
|
||||||
@ -36,10 +62,6 @@
|
|||||||
// a judicious use of them might increase your program's stability.
|
// a judicious use of them might increase your program's stability.
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
// Use of these suppresses compiler warnings about testing constant expression
|
|
||||||
WXDLLEXPORT_DATA(extern const bool) wxTrue;
|
|
||||||
WXDLLEXPORT_DATA(extern const bool) wxFalse;
|
|
||||||
|
|
||||||
// Macros which are completely disabled in 'release' mode
|
// Macros which are completely disabled in 'release' mode
|
||||||
//
|
//
|
||||||
// NB: these functions are implemented in src/common/appcmn.cpp
|
// NB: these functions are implemented in src/common/appcmn.cpp
|
||||||
@ -95,6 +117,10 @@ WXDLLEXPORT_DATA(extern const bool) wxFalse;
|
|||||||
#define wxASSERT_MSG(x, m)
|
#define wxASSERT_MSG(x, m)
|
||||||
#endif //__WXDEBUG__
|
#endif //__WXDEBUG__
|
||||||
|
|
||||||
|
// Use of wxFalse instead of FALSE suppresses compiler warnings about testing
|
||||||
|
// constant expression
|
||||||
|
WXDLLEXPORT_DATA(extern const bool) wxFalse;
|
||||||
|
|
||||||
// special form of assert: always triggers it (in debug mode)
|
// special form of assert: always triggers it (in debug mode)
|
||||||
#define wxFAIL wxASSERT(wxFalse)
|
#define wxFAIL wxASSERT(wxFalse)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user