added alternative definitions for wxASSERT_MSG and wxCHECK2_MSG to fix CodeWarrior warnings

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Dimitri Schoolwerth
2006-06-15 12:40:34 +00:00
parent 6c73e20df7
commit 9d73af583e

View File

@@ -113,12 +113,24 @@
/* generic assert macro */ /* generic assert macro */
#define wxASSERT(cond) wxASSERT_MSG(cond, NULL) #define wxASSERT(cond) wxASSERT_MSG(cond, NULL)
/* assert with additional message explaining it's cause */
#define wxASSERT_MSG(cond, msg) \ /* assert with additional message explaining its cause */
if ( cond ) \
; \ /* compilers can give a warning (such as "possible unwanted ;") when using */
else \ /* the default definition of wxASSERT_MSG so we provide an alternative */
wxOnAssert(__TFILE__, __LINE__, __WXFUNCTION__, _T(#cond), msg) #if defined(__MWERKS__)
#define wxASSERT_MSG(cond, msg) \
if ( cond ) \
{} \
else \
wxOnAssert(__TFILE__, __LINE__, __WXFUNCTION__, _T(#cond), msg)
#else
#define wxASSERT_MSG(cond, msg) \
if ( cond ) \
; \
else \
wxOnAssert(__TFILE__, __LINE__, __WXFUNCTION__, _T(#cond), msg)
#endif
/* special form of assert: always triggers it (in debug mode) */ /* special form of assert: always triggers it (in debug mode) */
#define wxFAIL wxFAIL_MSG(NULL) #define wxFAIL wxFAIL_MSG(NULL)
@@ -177,15 +189,29 @@
#define wxCHECK2(cond, op) wxCHECK2_MSG(cond, op, NULL) #define wxCHECK2(cond, op) wxCHECK2_MSG(cond, op, NULL)
/* as wxCHECK2 but with a message explaining why we fail */ /* as wxCHECK2 but with a message explaining why we fail */
#define wxCHECK2_MSG(cond, op, msg) \
if ( cond ) \ /* see comment near the definition of wxASSERT_MSG for the # if/else reason */
; \ #if defined(__MWERKS__)
else \ #define wxCHECK2_MSG(cond, op, msg) \
{ \ if ( cond ) \
wxFAIL_COND_MSG(#cond, msg); \ {} \
op; \ else \
} \ { \
struct wxDummyCheckStruct /* just to force a semicolon */ wxFAIL_COND_MSG(#cond, msg); \
op; \
} \
struct wxDummyCheckStruct /* just to force a semicolon */
#else
#define wxCHECK2_MSG(cond, op, msg) \
if ( cond ) \
; \
else \
{ \
wxFAIL_COND_MSG(#cond, msg); \
op; \
} \
struct wxDummyCheckStruct /* just to force a semicolon */
#endif
/* special form of wxCHECK2: as wxCHECK, but for use in void functions */ /* special form of wxCHECK2: as wxCHECK, but for use in void functions */
/* */ /* */