define wxMAKE_UNIQUE_NAME so that it works even in VC++ with /ZI (edit and continue) option: use __COU*NTER__ instead of __LINE__

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2004-10-20 00:31:58 +00:00
parent 90999185aa
commit c0fbf9294e

View File

@ -473,7 +473,18 @@ typedef int wxWindowID;
/* appending the current line number to the given identifier to reduce the */
/* probability of the conflict (it may still happen if this is used in the */
/* headers, hence you should avoid doing it or provide unique prefixes then) */
#define wxCONCAT_LINE(text) wxCONCAT(text, __LINE__)
#ifdef __VISUALC__
/*
__LINE__ handling is completely broken in VC++ when using "Edit and
Continue" (/ZI option) and results in preprocessor errors if we use it
inside the macros. Luckily it has another standard macro which can be
used like this and is even better than __LINE__ because it is globally
unique.
*/
# define wxCONCAT_LINE(text) wxCONCAT(text, __COUNTER__)
#else /* normal compilers */
# define wxCONCAT_LINE(text) wxCONCAT(text, __LINE__)
#endif
#define wxMAKE_UNIQUE_NAME(text) wxCONCAT_LINE(text)
/* symbolic constant used by all Find()-like functions returning positive */