X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1c6f24145ec676f8943c0133d7568fbea1bb161e..d61f7200331a1cd1a3b2353292e6801511ccbc5d:/include/wx/debug.h diff --git a/include/wx/debug.h b/include/wx/debug.h index 2876fa5286..5f1e1559bb 100644 --- a/include/wx/debug.h +++ b/include/wx/debug.h @@ -203,16 +203,22 @@ #define wxCOMPILE_TIME_ASSERT(expr, msg) \ class wxMAKE_UNIQUE_ASSERT_NAME { \ unsigned int msg: expr; \ - wxMAKE_UNIQUE_ASSERT_NAME(){wxUnusedVar(msg);} \ + 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 + mishandles __LINE__ and so wxCOMPILE_TIME_ASSERT() doesn't work, provide a + way to make "unique" assert names by specifying a unique prefix explicitly + */ +#define wxMAKE_UNIQUE_ASSERT_NAME2(text) wxCONCAT(wxAssert_, text) -/* for compatibility only, don't use any more, not needed */ -#define wxCOMPILE_TIME_ASSERT2(expr, msg, text) wxCOMPILE_TIME_ASSERT(expr, msg) +#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