/**
-* Name: wx/debug.h
-* Purpose: Misc debug functions and macros
-* Author: Vadim Zeitlin
+* Name: wx/debug.h
+* Purpose: Misc debug functions and macros
+* Author: Vadim Zeitlin
* Modified by: Ryan Norton (Converted to C)
-* Created: 29/01/98
-* RCS-ID: $Id$
-* Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-* Licence: wxWindows licence
+* Created: 29/01/98
+* RCS-ID: $Id$
+* Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
+* Licence: wxWindows licence
*/
/* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */
/* */
/* All debugging macros rely on ASSERT() which in turn calls user-defined */
/* OnAssert() function. To keep things simple, it's called even when the */
-/* expression is TRUE (i.e. everything is ok) and by default does nothing: just */
+/* expression is true (i.e. everything is ok) and by default does nothing: just */
/* returns the same value back. But if you redefine it to do something more sexy */
/* (popping up a message box in your favourite GUI, sending you e-mail or */
/* whatever) it will affect all ASSERTs, FAILs and CHECKs in your code. */
#endif /* __WXDEBUG__ */
#ifdef __cplusplus
- /* Use of wxFalse instead of FALSE suppresses compiler warnings about testing */
+ /* Use of wxFalse instead of false suppresses compiler warnings about testing */
/* constant expression */
WXDLLIMPEXP_DATA_BASE(extern const bool) wxFalse;
#endif
It may be used both within a function and in the global scope.
*/
-#define wxCOMPILE_TIME_ASSERT(expr, msg) \
- struct wxMAKE_UNIQUE_ASSERT_NAME { unsigned int msg: expr; }
+#ifdef __WATCOMC__
+ /* avoid "unused symbol" warning */
+ #define wxCOMPILE_TIME_ASSERT(expr, msg) \
+ class wxMAKE_UNIQUE_ASSERT_NAME { \
+ unsigned int msg: expr; \
+ wxMAKE_UNIQUE_ASSERT_NAME() { wxUnusedVar(msg); } \
+ }
+#else
+ #define wxCOMPILE_TIME_ASSERT(expr, msg) \
+ struct wxMAKE_UNIQUE_ASSERT_NAME { unsigned int msg: expr; }
+#endif
/*
When using VC++ 6 with "Edit and Continue" on, the compiler completely
*/
#define wxMAKE_UNIQUE_ASSERT_NAME2(text) wxCONCAT(wxAssert_, text)
-#define wxCOMPILE_TIME_ASSERT2(expr, msg, text) \
- struct wxMAKE_UNIQUE_ASSERT_NAME2(text) { unsigned int msg: expr; }
+#ifdef __WATCOMC__
+ /* avoid "unused symbol" warning */
+ #define wxCOMPILE_TIME_ASSERT2(expr, msg, text) \
+ class wxMAKE_UNIQUE_ASSERT_NAME2(text) { \
+ unsigned int msg: expr; \
+ wxMAKE_UNIQUE_ASSERT_NAME2(text) { wxUnusedVar(msg); } \
+ }
+#else
+ #define wxCOMPILE_TIME_ASSERT2(expr, msg, text) \
+ struct wxMAKE_UNIQUE_ASSERT_NAME2(text) { unsigned int msg: expr; }
+#endif
/* helpers for wxCOMPILE_TIME_ASSERT below, for private use only */
#define wxMAKE_BITSIZE_MSG(type, size) type ## SmallerThan ## size ## Bits