Add checks for !defined(__STRICT_ANSI__) when checking for various common but
non-standard CRT extensions.
This allows compiling programs using wx with g++ -std=c++[0x] option (notice
that compiling wx itself using it still doesn't work).
Closes #11374.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62518
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// finally the default char-type versions
#if wxUSE_UNICODE
// finally the default char-type versions
#if wxUSE_UNICODE
+ #if wxUSE_UNICODE_MSLU || defined(__STRICT_ANSI__)
// implement the missing file functions in Win9x ourselves
WXDLLIMPEXP_BASE int wxMSLU__wopen(const wxChar *name,
int flags, int mode);
// implement the missing file functions in Win9x ourselves
WXDLLIMPEXP_BASE int wxMSLU__wopen(const wxChar *name,
int flags, int mode);
define it ourselves for them
*/
#ifndef isascii
define it ourselves for them
*/
#ifndef isascii
- #if defined(__MWERKS__)
+ #if defined(__MWERKS__) || defined(__STRICT_ANSI__)
#define wxNEED_ISASCII
#elif defined(_WIN32_WCE)
#if _WIN32_WCE <= 211
#define wxNEED_ISASCII
#elif defined(_WIN32_WCE)
#if _WIN32_WCE <= 211
Mac and OpenVMS do not have wcsdup: */
#if defined(__VISUALC__) && __VISUALC__ >= 1400
#define wxCRT_StrdupA _strdup
Mac and OpenVMS do not have wcsdup: */
#if defined(__VISUALC__) && __VISUALC__ >= 1400
#define wxCRT_StrdupA _strdup
-#elif !(defined(__MWERKS__) && defined(__WXMAC__)) && !defined(__WXWINCE__)
+#elif !(defined(__MWERKS__) && defined(__WXMAC__)) && !defined(__WXWINCE__) && !defined(__STRICT_ANSI__)
#define wxCRT_StrdupA strdup
#endif
// all compilers except Cygwin provide _wcsdup() under Windows
#define wxCRT_StrdupA strdup
#endif
// all compilers except Cygwin provide _wcsdup() under Windows
-#if defined(__WINDOWS__) && !defined(__CYGWIN__)
+#if defined(__WINDOWS__) && !defined(__CYGWIN__) && !defined(__STRICT_ANSI__)
#define wxCRT_StrdupW _wcsdup
#elif defined(HAVE_WCSDUP)
#define wxCRT_StrdupW wcsdup
#define wxCRT_StrdupW _wcsdup
#elif defined(HAVE_WCSDUP)
#define wxCRT_StrdupW wcsdup
(defined(__MWERKS__) && defined(__INTEL__))
#define wxCRT_StricmpA _stricmp
#define wxCRT_StrnicmpA _strnicmp
(defined(__MWERKS__) && defined(__INTEL__))
#define wxCRT_StricmpA _stricmp
#define wxCRT_StrnicmpA _strnicmp
-#elif defined(__UNIX__) || defined(__GNUWIN32__)
+#elif defined(__UNIX__) || (defined(__GNUWIN32__) && !defined(__STRICT_ANSI__))
#define wxCRT_StricmpA strcasecmp
#define wxCRT_StrnicmpA strncasecmp
/* #else -- use wxWidgets implementation */
#define wxCRT_StricmpA strcasecmp
#define wxCRT_StrnicmpA strncasecmp
/* #else -- use wxWidgets implementation */
#else /* Unicode filenames */
/* special case: these functions are missing under Win9x with Unicows so we
have to implement them ourselves */
#else /* Unicode filenames */
/* special case: these functions are missing under Win9x with Unicows so we
have to implement them ourselves */
+ #if wxUSE_UNICODE_MSLU || defined(__STRICT_ANSI__)
WXDLLIMPEXP_BASE FILE* wxMSLU__wfopen(const wchar_t *name, const wchar_t *mode);
WXDLLIMPEXP_BASE FILE* wxMSLU__wfreopen(const wchar_t *name, const wchar_t *mode, FILE *stream);
WXDLLIMPEXP_BASE int wxMSLU__wrename(const wchar_t *oldname, const wchar_t *newname);
WXDLLIMPEXP_BASE FILE* wxMSLU__wfopen(const wchar_t *name, const wchar_t *mode);
WXDLLIMPEXP_BASE FILE* wxMSLU__wfreopen(const wchar_t *name, const wchar_t *mode, FILE *stream);
WXDLLIMPEXP_BASE int wxMSLU__wrename(const wchar_t *oldname, const wchar_t *newname);
#define wxCRT_AtolW watol
/* else: use ANSI versions */
#endif
#define wxCRT_AtolW watol
/* else: use ANSI versions */
#endif
-#elif defined(wxHAVE_TCHAR_SUPPORT)
+#elif defined(wxHAVE_TCHAR_SUPPORT) && !defined(__STRICT_ANSI__)
#define wxCRT_AtoiW _wtoi
#define wxCRT_AtolW _wtol
/* _wtof doesn't exist */
#define wxCRT_AtoiW _wtoi
#define wxCRT_AtolW _wtol
/* _wtof doesn't exist */