]> git.saurik.com Git - wxWidgets.git/commitdiff
added wxCOMPILE_TIME_ASSERT2() macro allowing to give the unique name to the struct...
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 7 Feb 2002 12:33:40 +0000 (12:33 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 7 Feb 2002 12:33:40 +0000 (12:33 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14045 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/debug.h
include/wx/dynarray.h

index 10966502ec7592d7610e00a87d1e607d95c2e81a..436a05ab29b1785872c5c4d91d542a82a6b2515c 100644 (file)
@@ -178,9 +178,10 @@ WXDLLEXPORT_DATA(extern const bool) wxFalse;
   get a warning about an unnamed struct not used to define an object!).
  */
 
-#define wxMAKE_ASSERT_NAME_HELPER(line) wxAssert_ ## line
-#define wxMAKE_ASSERT_NAME(line)        wxMAKE_ASSERT_NAME_HELPER(line)
-#define wxMAKE_UNIQUE_ASSERT_NAME       wxMAKE_ASSERT_NAME(__LINE__)
+#define wxMAKE_ASSERT_NAME_HELPER(line)     wxAssert_ ## line
+#define wxMAKE_ASSERT_NAME(line)            wxMAKE_ASSERT_NAME_HELPER(line)
+#define wxMAKE_UNIQUE_ASSERT_NAME           wxMAKE_ASSERT_NAME(__LINE__)
+#define wxMAKE_UNIQUE_ASSERT_NAME2(text)    wxMAKE_ASSERT_NAME(text)
 
 /*
   The second argument of this macro must be a valid C++ identifier and not a
@@ -193,6 +194,9 @@ WXDLLEXPORT_DATA(extern const bool) wxFalse;
 #define wxCOMPILE_TIME_ASSERT(expr, msg) \
     struct wxMAKE_UNIQUE_ASSERT_NAME { unsigned int msg: expr; }
 
+#define wxCOMPILE_TIME_ASSERT2(expr, msg, text) \
+    struct wxMAKE_UNIQUE_ASSERT_NAME2(text) { unsigned int msg: expr; }
+
 // helpers for wxCOMPILE_TIME_ASSERT below, for private use only
 #define wxMAKE_BITSIZE_MSG(type, size) type ## SmallerThan ## size ## Bits
 
index d96553737a51f3f27ad9a244552adadb67db9191..f70cc6c2f389936e690b416c571b49ae3a24d2ad 100644 (file)
@@ -186,8 +186,9 @@ private:
 // ----------------------------------------------------------------------------
 
 #define  _WX_DEFINE_ARRAY(T, name, classexp)                        \
-wxCOMPILE_TIME_ASSERT(sizeof(T) <= sizeof(long),                    \
-                      TypeIsTooBigToBeStoredInWxArray);             \
+wxCOMPILE_TIME_ASSERT2(sizeof(T) <= sizeof(long),                   \
+                       TypeIsTooBigToBeStoredInWxArray,             \
+                       name);                                       \
 typedef int (CMPFUNC_CONV *CMPFUNC##T)(T *pItem1, T *pItem2);       \
 classexp name : public wxBaseArray                                  \
 {                                                                   \
@@ -230,8 +231,9 @@ public:                                                             \
 // ----------------------------------------------------------------------------
 
 #define _WX_DEFINE_SORTED_ARRAY(T, name, defcomp, classexp)         \
-wxCOMPILE_TIME_ASSERT(sizeof(T) <= sizeof(long),                    \
-                      TypeIsTooBigToBeStoredInWxArray);             \
+wxCOMPILE_TIME_ASSERT2(sizeof(T) <= sizeof(long),                   \
+                       TypeIsTooBigToBeStoredInWxArray,             \
+                       name);                                       \
 typedef int (CMPFUNC_CONV *SCMPFUNC##T)(T pItem1, T pItem2);        \
 classexp name : public wxBaseArray                                  \
 {                                                                   \