X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e0c749a72f391a5180b84911be22132652aa5374..f5a1953b341d16396763bee067ccdd96108f3aad:/include/wx/debug.h

diff --git a/include/wx/debug.h b/include/wx/debug.h
index f353646e8b..f6f3242e95 100644
--- a/include/wx/debug.h
+++ b/include/wx/debug.h
@@ -1,12 +1,12 @@
 /**
-*  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 */
@@ -52,7 +52,7 @@
 /*  */
 /*  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. */
@@ -125,9 +125,9 @@
 #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;
+    extern WXDLLIMPEXP_DATA_BASE(const bool) wxFalse;
 #endif
 
 #define wxAssertFailure wxFalse
@@ -198,8 +198,17 @@
 
  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
@@ -224,12 +233,14 @@
 /*  other miscellaneous debugger-related functions */
 /*  ---------------------------------------------------------------------------- */
 
-/*  return true if we're running under debugger */
-/*  */
-/*  currently this only really works under Mac in CodeWarrior builds, it always */
-/*  returns false otherwise */
+/*
+    Return true if we're running under debugger.
+
+    Currently this only really works under Win32 and Mac in CodeWarrior builds,
+    it always returns false in other cases.
+ */
 #ifdef __cplusplus
-    #ifdef __WXMAC__
+    #if defined(__WXMAC__) || defined(__WXMSW__)
         extern bool WXDLLIMPEXP_BASE wxIsDebuggerRunning();
     #else /*  !Mac */
         inline bool wxIsDebuggerRunning() { return false; }