Added configure test for const_cast<>(), and enabled it

for MSVC 5 and 6, and MinGW; use const_cast<>() in
wxConstCast if it is available.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Mattia Barbon
2003-03-10 21:37:28 +00:00
parent 79e929e79e
commit 521196a26a
7 changed files with 886 additions and 763 deletions

View File

@@ -222,8 +222,12 @@ typedef int wxWindowID;
// check for explicit keyword support
#ifndef HAVE_EXPLICIT
#if defined(__VISUALC__) && (__VISUALC__ >= 1200)
// VC++ 6.0 has explicit (what about the earlier versions?)
#if defined(__VISUALC__) && (__VISUALC__ >= 1100)
// VC++ 6.0 and 5.0 have explicit (what about the earlier versions?)
#define HAVE_EXPLICIT
#elif ( defined(__MINGW32__) || defined(__CYGWIN32__) ) \
&& wxCHECK_GCC_VERSION(2, 95)
// GCC 2.95 has explicit, what about earlier versions?
#define HAVE_EXPLICIT
#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x0520)
// BC++ 4.52 doesn't support explicit, CBuilder 1 does
@@ -240,6 +244,24 @@ typedef int wxWindowID;
#define wxEXPLICIT
#endif // HAVE_EXPLICIT/!HAVE_EXPLICIT
// check for static/const/reinterpret_cast<>()
#ifndef HAVE_STATIC_CAST
#if defined(__VISUALC__) && (__VISUALC__ >= 1100)
// VC++ 6.0 and 5.0 have C++ casts (what about the earlier versions?)
#define HAVE_CXX_CASTS
#elif ( defined(__MINGW32__) || defined(__CYGWIN32__) ) \
&& wxCHECK_GCC_VERSION(2, 95)
// GCC 2.95 has C++ casts, what about earlier versions?
#define HAVE_CXX_CASTS
#endif
#endif // HAVE_STATIC_CAST
#ifdef HAVE_CXX_CASTS
#ifndef HAVE_CONST_CAST
#define HAVE_CONST_CAST
#endif
#endif // HAVE_CXX_CASTS
// ----------------------------------------------------------------------------
// portable calling conventions macros
// ----------------------------------------------------------------------------