MinGW headers define MSVC-compatible _strdup() even in strict ANSI mode so we
can always use it with MinGW.
This fixes a linking problem when wx itself was built without strict ANSI but
the program using it does use strict ANSI mode (e.g. due to the use of
-std=c++0x g++ option).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68025
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
#endif /* __WXWINCE__ */
/* Almost all compiler have strdup(), but not quite all: CodeWarrior under
#endif /* __WXWINCE__ */
/* Almost all compiler have strdup(), but not quite all: CodeWarrior under
- Mac and VC++ for Windows CE don't provide it; additionally, gcc under
- Mac and OpenVMS do not have wcsdup: */
-#if defined(__VISUALC__) && __VISUALC__ >= 1400
+ Mac and VC++ for Windows CE don't provide it. Another special case is gcc in
+ strict ANSI mode: normally it doesn't provide strdup() but MinGW does
+ provide it under MSVC-compatible name so test for it before checking
+ __WX_STRICT_ANSI_GCC__. */
+#if (defined(__VISUALC__) && __VISUALC__ >= 1400) || \
+ defined(__MINGW32__)
#define wxCRT_StrdupA _strdup
#elif !((defined(__MWERKS__) && defined(__WXMAC__)) || \
defined(__WXWINCE__) || \
#define wxCRT_StrdupA _strdup
#elif !((defined(__MWERKS__) && defined(__WXMAC__)) || \
defined(__WXWINCE__) || \