#ifndef _WX_DEBUG_H_
#define _WX_DEBUG_H_
+#ifndef __WXPALMOS5__
#ifndef __WXWINCE__
#include <assert.h>
#endif
+#endif // ! __WXPALMOS5__
#include <limits.h> /* for CHAR_BIT used below */
#include "wx/chartype.h" /* for __TFILE__ and wxChar */
const char *szFunc,
const char *szCond,
const wxChar *szMsg);
-#endif // wxUSE_UNICODE
+#endif /* wxUSE_UNICODE */
- class WXDLLIMPEXP_BASE wxString;
- class WXDLLIMPEXP_BASE wxCStrData;
+ class WXDLLIMPEXP_FWD_BASE wxString;
+ class WXDLLIMPEXP_FWD_BASE wxCStrData;
/* these two work when szMsg passed to debug macro is a string,
we also have to provide wxCStrData overload to resolve ambiguity
/* assert with additional message explaining its cause */
- /* compilers can give a warning (such as "possible unwanted ;") when using */
- /* the default definition of wxASSERT_MSG so we provide an alternative */
- #if defined(__MWERKS__)
- #define wxASSERT_MSG(cond, msg) \
- if ( cond ) \
- {} \
- else \
- wxOnAssert(__FILE__, __LINE__, __WXFUNCTION__, #cond, msg)
- #else
- #define wxASSERT_MSG(cond, msg) \
- if ( cond ) \
- ; \
- else \
- wxOnAssert(__FILE__, __LINE__, __WXFUNCTION__, #cond, msg)
- #endif
+ /* Note: some compilers will give a warning (such as */
+ /* "possible unwanted ;") when using a ";" instead of the "{}". */
+ #define wxASSERT_MSG(cond, msg) \
+ if ( cond ) \
+ {} \
+ else \
+ wxOnAssert(__FILE__, __LINE__, __WXFUNCTION__, #cond, msg)
/* special form of assert: always triggers it (in debug mode) */
#define wxFAIL wxFAIL_MSG((const char*)NULL)
/* as wxCHECK2 but with a message explaining why we fail */
-/* see comment near the definition of wxASSERT_MSG for the # if/else reason */
-#if defined(__MWERKS__)
- #define wxCHECK2_MSG(cond, op, msg) \
- if ( cond ) \
- {} \
- else \
- { \
- 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
+#define wxCHECK2_MSG(cond, op, msg) \
+ if ( cond ) \
+ {} \
+ else \
+ { \
+ wxFAIL_COND_MSG(#cond, msg); \
+ op; \
+ } \
+ struct wxDummyCheckStruct /* just to force a semicolon */
/* special form of wxCHECK2: as wxCHECK, but for use in void functions */
/* */