]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/debug.h
*** empty log message ***
[wxWidgets.git] / include / wx / debug.h
index 3b8387efb37cbeaf508efc971197c51b949924f0..c030f2abbaecf81f9da2f9153cf83dfc4df4fb7a 100644 (file)
 
  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