The _l suffixed wchar ctype functions, such as _iswalpha_l, are available in msvcrt.dll, but only since Vista. They're also available in the properly versioned msvcrt versions since msvcr80.dll.
This fixes building libc++ for msvcrt.dll, after the recent changes in f1df976e39063a5da7795af79b65b6dbbc60c432. Signed-off-by: Martin Storsjö <mar...@martin.st> --- mingw-w64-headers/crt/ctype.h | 5 +++-- mingw-w64-headers/crt/wchar.h | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/mingw-w64-headers/crt/ctype.h b/mingw-w64-headers/crt/ctype.h index 60c17cc9a..85b09a519 100644 --- a/mingw-w64-headers/crt/ctype.h +++ b/mingw-w64-headers/crt/ctype.h @@ -138,7 +138,8 @@ int __cdecl isblank(int _C); wint_t __cdecl towupper(wint_t _C); wint_t __cdecl towlower(wint_t _C); int __cdecl iswctype(wint_t _C,wctype_t _Type); -#if __MSVCRT_VERSION__ >= 0x800 +#if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x700 && _WIN32_WINNT >= 0x0600) + /* These are available since msvcr80.dll, and in msvcrt.dll since Vista. */ _CRTIMP int __cdecl _iswalpha_l(wint_t _C,_locale_t _Locale); _CRTIMP int __cdecl _iswupper_l(wint_t _C,_locale_t _Locale); _CRTIMP int __cdecl _iswlower_l(wint_t _C,_locale_t _Locale); @@ -221,7 +222,7 @@ _CRTIMP int __cdecl ___mb_cur_max_func(void); #define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT)) #define iswcntrl(_c) (iswctype(_c,_CONTROL)) #define iswascii(_c) ((unsigned)(_c) < 0x80) -#if __MSVCRT_VERSION__ >= 0x800 +#if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x700 && _WIN32_WINNT >= 0x0600) # define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p)) # define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p)) # define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p)) diff --git a/mingw-w64-headers/crt/wchar.h b/mingw-w64-headers/crt/wchar.h index 0e550d83c..f9f9517c8 100644 --- a/mingw-w64-headers/crt/wchar.h +++ b/mingw-w64-headers/crt/wchar.h @@ -213,7 +213,8 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); wint_t __cdecl towupper(wint_t _C); wint_t __cdecl towlower(wint_t _C); int __cdecl iswctype(wint_t _C,wctype_t _Type); -#if __MSVCRT_VERSION__ >= 0x800 +#if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x700 && _WIN32_WINNT >= 0x0600) + /* These are available since msvcr80.dll, and in msvcrt.dll since Vista. */ _CRTIMP int __cdecl _iswalpha_l(wint_t _C,_locale_t _Locale); _CRTIMP int __cdecl _iswupper_l(wint_t _C,_locale_t _Locale); _CRTIMP int __cdecl _iswlower_l(wint_t _C,_locale_t _Locale); @@ -332,7 +333,7 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); #define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT)) #define iswcntrl(_c) (iswctype(_c,_CONTROL)) #define iswascii(_c) ((unsigned)(_c) < 0x80) -#if __MSVCRT_VERSION__ >= 0x800 +#if __MSVCRT_VERSION__ >= 0x800 || (__MSVCRT_VERSION__ == 0x700 && _WIN32_WINNT >= 0x0600) # define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p)) # define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p)) # define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p)) -- 2.34.1 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public