crt: use replacements for C95 conversion functions with all msvcr*.dll CRTs

Previously, replacements for C95 conversion functions were used
only with msvcrt.dll and earlier CRTs.

Comments for C95 conversion functions in msvcrt.def.in have been
updated to include the reason why they are being replaced.

Signed-off-by: Kirill Makurin <maiddaisuki@outlook.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index ab02568..7a986d5 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -168,9 +168,14 @@
 src_msvcrt_common=\
   misc/_onexit.c \
   misc/btowc.c \
+  misc/mbrlen.c \
+  misc/mbrtowc.c \
   misc/mbsinit.c \
+  misc/mbsrtowcs.c \
   misc/onexit_table.c \
   misc/register_tls_atexit.c \
+  misc/wcrtomb.c \
+  misc/wcsrtombs.c \
   misc/wctob.c \
   stdio/_getc_nolock.c \
   stdio/_getwc_nolock.c \
@@ -346,11 +351,6 @@
   misc/iswblank.c \
   misc/_isblank_l.c \
   misc/_iswblank_l.c \
-  misc/mbrlen.c \
-  misc/mbrtowc.c \
-  misc/mbsrtowcs.c \
-  misc/wcrtomb.c \
-  misc/wcsrtombs.c \
   misc/wctrans.c \
   misc/wctype.c \
   secapi/_vscprintf_p.c \
@@ -911,14 +911,9 @@
   misc/_set_fmode.c \
   misc/imaxabs.c \
   misc/invalid_parameter_handler.c \
-  misc/mbrlen.c \
-  misc/mbrtowc.c \
-  misc/mbsrtowcs.c \
   misc/output_format.c \
   misc/strnlen.c \
   misc/wassert.c \
-  misc/wcrtomb.c \
-  misc/wcsrtombs.c \
   misc/wcsnlen.c \
   secapi/getenv_s.c \
   stdio/_fseeki64.c \
diff --git a/mingw-w64-crt/lib-common/msvcr120_app.def.in b/mingw-w64-crt/lib-common/msvcr120_app.def.in
index 3f0e890..32a85cd 100644
--- a/mingw-w64-crt/lib-common/msvcr120_app.def.in
+++ b/mingw-w64-crt/lib-common/msvcr120_app.def.in
@@ -2116,9 +2116,9 @@
 F_ARM32(lroundl) ; Can't use long double functions from the CRT on x86
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -2283,7 +2283,7 @@
 vwprintf_s
 vwscanf
 vwscanf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -2303,7 +2303,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in b/mingw-w64-crt/lib-common/msvcrt.def.in
index 0476000..5c31c79 100644
--- a/mingw-w64-crt/lib-common/msvcrt.def.in
+++ b/mingw-w64-crt/lib-common/msvcrt.def.in
@@ -1804,10 +1804,10 @@
 fwprintf_s
 fwscanf_s
 F_ARM_ANY(getenv_s) ; i386 and x64 getenv_s replaced by emu
-; F_ARM_ANY(mbrlen) ; always use replacement
-; F_ARM_ANY(mbrtowc) ; always use replacement
+; F_ARM_ANY(mbrlen) ; replaced, CRT version does not conform to C95
+; F_ARM_ANY(mbrtowc) ; replaced, CRT version does not conform to C95
 mbsdup_dbg
-; F_ARM_ANY(mbsrtowcs) ; always use replacement
+; F_ARM_ANY(mbsrtowcs) ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs_s
 F_ARM_ANY(memcpy_s) ; i386 and x64 memcpy_s replaced by emu
@@ -1838,14 +1838,14 @@
 F_ARM_ANY(vsprintf_s) ; i386 and x64 vsprintf_s replaced by emu
 vswprintf_s
 vwprintf_s
-; F_ARM_ANY(wcrtomb) ; always use replacement
+; F_ARM_ANY(wcrtomb) ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat_s
 wcscpy_s
 wcsncat_s
 wcsncpy_s
 F_ARM_ANY(wcsnlen) ; i386 and x64 wcsnlen replaced by emu
-; F_ARM_ANY(wcsrtombs) ; always use replacement
+; F_ARM_ANY(wcsrtombs) ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 F_ARM_ANY(wcstok_s) ; i386 and x64 wcstok_s replaced by emu
 wcstombs_s
diff --git a/mingw-w64-crt/lib32/msvcr100.def.in b/mingw-w64-crt/lib32/msvcr100.def.in
index 58542e5..2d00f87 100644
--- a/mingw-w64-crt/lib32/msvcr100.def.in
+++ b/mingw-w64-crt/lib32/msvcr100.def.in
@@ -1756,9 +1756,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1860,7 +1860,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -1880,7 +1880,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib32/msvcr100d.def.in b/mingw-w64-crt/lib32/msvcr100d.def.in
index 8534faa..e1f6b47 100644
--- a/mingw-w64-crt/lib32/msvcr100d.def.in
+++ b/mingw-w64-crt/lib32/msvcr100d.def.in
@@ -1821,9 +1821,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1923,7 +1923,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -1943,7 +1943,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib32/msvcr110.def.in b/mingw-w64-crt/lib32/msvcr110.def.in
index e6894b9..be2491f 100644
--- a/mingw-w64-crt/lib32/msvcr110.def.in
+++ b/mingw-w64-crt/lib32/msvcr110.def.in
@@ -1887,9 +1887,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1989,7 +1989,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -2009,7 +2009,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib32/msvcr110d.def.in b/mingw-w64-crt/lib32/msvcr110d.def.in
index 38d99e2..16d0669 100644
--- a/mingw-w64-crt/lib32/msvcr110d.def.in
+++ b/mingw-w64-crt/lib32/msvcr110d.def.in
@@ -1954,9 +1954,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -2056,7 +2056,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -2076,7 +2076,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib32/msvcr120.def.in b/mingw-w64-crt/lib32/msvcr120.def.in
index 7571463..aaa9657 100644
--- a/mingw-w64-crt/lib32/msvcr120.def.in
+++ b/mingw-w64-crt/lib32/msvcr120.def.in
@@ -2086,9 +2086,9 @@
 ; lroundl ; Can't use long double functions from the CRT on x86
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -2246,7 +2246,7 @@
 vwprintf_s
 vwscanf
 vwscanf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -2266,7 +2266,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib32/msvcr120d.def.in b/mingw-w64-crt/lib32/msvcr120d.def.in
index fb75756..f670d0b 100644
--- a/mingw-w64-crt/lib32/msvcr120d.def.in
+++ b/mingw-w64-crt/lib32/msvcr120d.def.in
@@ -2153,9 +2153,9 @@
 ; lroundl ; Can't use long double functions from the CRT on x86
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -2313,7 +2313,7 @@
 vwprintf_s
 vwscanf
 vwscanf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -2333,7 +2333,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib32/msvcr80.def.in b/mingw-w64-crt/lib32/msvcr80.def.in
index cbc51da..9818707 100644
--- a/mingw-w64-crt/lib32/msvcr80.def.in
+++ b/mingw-w64-crt/lib32/msvcr80.def.in
@@ -1392,9 +1392,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1494,7 +1494,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -1514,7 +1514,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib32/msvcr80d.def.in b/mingw-w64-crt/lib32/msvcr80d.def.in
index dc83410..a98c5dd 100644
--- a/mingw-w64-crt/lib32/msvcr80d.def.in
+++ b/mingw-w64-crt/lib32/msvcr80d.def.in
@@ -1475,9 +1475,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+: mbrtowc ; replaced, CRT version does not conform to C95
+: mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1577,7 +1577,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -1597,7 +1597,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib32/msvcr90.def.in b/mingw-w64-crt/lib32/msvcr90.def.in
index 4455d1e..6f62641 100644
--- a/mingw-w64-crt/lib32/msvcr90.def.in
+++ b/mingw-w64-crt/lib32/msvcr90.def.in
@@ -1388,9 +1388,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1492,7 +1492,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -1512,7 +1512,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib32/msvcr90d.def.in b/mingw-w64-crt/lib32/msvcr90d.def.in
index 19f6f4a..8bca8f4 100644
--- a/mingw-w64-crt/lib32/msvcr90d.def.in
+++ b/mingw-w64-crt/lib32/msvcr90d.def.in
@@ -1460,9 +1460,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1564,7 +1564,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -1584,7 +1584,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib64/msvcr100.def.in b/mingw-w64-crt/lib64/msvcr100.def.in
index 58d757b..df860c0 100644
--- a/mingw-w64-crt/lib64/msvcr100.def.in
+++ b/mingw-w64-crt/lib64/msvcr100.def.in
@@ -1712,9 +1712,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1822,7 +1822,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -1842,7 +1842,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib64/msvcr100d.def.in b/mingw-w64-crt/lib64/msvcr100d.def.in
index ff7662c..6fd09a5 100644
--- a/mingw-w64-crt/lib64/msvcr100d.def.in
+++ b/mingw-w64-crt/lib64/msvcr100d.def.in
@@ -1777,9 +1777,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1887,7 +1887,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -1907,7 +1907,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib64/msvcr110.def.in b/mingw-w64-crt/lib64/msvcr110.def.in
index 4b3374c..80f9fa5 100644
--- a/mingw-w64-crt/lib64/msvcr110.def.in
+++ b/mingw-w64-crt/lib64/msvcr110.def.in
@@ -1836,9 +1836,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1946,7 +1946,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -1966,7 +1966,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib64/msvcr110d.def.in b/mingw-w64-crt/lib64/msvcr110d.def.in
index 792a504..3bb047b 100644
--- a/mingw-w64-crt/lib64/msvcr110d.def.in
+++ b/mingw-w64-crt/lib64/msvcr110d.def.in
@@ -1901,9 +1901,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -2011,7 +2011,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -2031,7 +2031,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib64/msvcr120.def.in b/mingw-w64-crt/lib64/msvcr120.def.in
index caa8aac..4f19699 100644
--- a/mingw-w64-crt/lib64/msvcr120.def.in
+++ b/mingw-w64-crt/lib64/msvcr120.def.in
@@ -2034,9 +2034,9 @@
 ; lroundl ; Can't use long double functions from the CRT on x86
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -2202,7 +2202,7 @@
 vwprintf_s
 vwscanf
 vwscanf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -2222,7 +2222,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib64/msvcr120d.def.in b/mingw-w64-crt/lib64/msvcr120d.def.in
index 8df009d..f4a1d6b 100644
--- a/mingw-w64-crt/lib64/msvcr120d.def.in
+++ b/mingw-w64-crt/lib64/msvcr120d.def.in
@@ -2099,9 +2099,9 @@
 ; lroundl ; Can't use long double functions from the CRT on x86
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -2267,7 +2267,7 @@
 vwprintf_s
 vwscanf
 vwscanf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -2287,7 +2287,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib64/msvcr80.def.in b/mingw-w64-crt/lib64/msvcr80.def.in
index affa2c8..362ca3e 100644
--- a/mingw-w64-crt/lib64/msvcr80.def.in
+++ b/mingw-w64-crt/lib64/msvcr80.def.in
@@ -1332,9 +1332,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1442,7 +1442,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -1462,7 +1462,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib64/msvcr80d.def.in b/mingw-w64-crt/lib64/msvcr80d.def.in
index 8c5da27..66ff582 100644
--- a/mingw-w64-crt/lib64/msvcr80d.def.in
+++ b/mingw-w64-crt/lib64/msvcr80d.def.in
@@ -1409,9 +1409,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1519,7 +1519,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -1539,7 +1539,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib64/msvcr90.def.in b/mingw-w64-crt/lib64/msvcr90.def.in
index ba66406..d04136e 100644
--- a/mingw-w64-crt/lib64/msvcr90.def.in
+++ b/mingw-w64-crt/lib64/msvcr90.def.in
@@ -1330,9 +1330,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1440,7 +1440,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -1460,7 +1460,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/lib64/msvcr90d.def.in b/mingw-w64-crt/lib64/msvcr90d.def.in
index c4f5688..1a25264 100644
--- a/mingw-w64-crt/lib64/msvcr90d.def.in
+++ b/mingw-w64-crt/lib64/msvcr90d.def.in
@@ -1396,9 +1396,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1506,7 +1506,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -1526,7 +1526,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/libarm32/msvcr110.def.in b/mingw-w64-crt/libarm32/msvcr110.def.in
index a8b580d..d863b64 100644
--- a/mingw-w64-crt/libarm32/msvcr110.def.in
+++ b/mingw-w64-crt/libarm32/msvcr110.def.in
@@ -1823,9 +1823,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1933,7 +1933,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -1953,7 +1953,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/libarm32/msvcr110d.def.in b/mingw-w64-crt/libarm32/msvcr110d.def.in
index b0a5f5c..699f0e8 100644
--- a/mingw-w64-crt/libarm32/msvcr110d.def.in
+++ b/mingw-w64-crt/libarm32/msvcr110d.def.in
@@ -1888,9 +1888,9 @@
 longjmp
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -1998,7 +1998,7 @@
 vswprintf_s
 vwprintf
 vwprintf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -2018,7 +2018,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/libarm32/msvcr120.def.in b/mingw-w64-crt/libarm32/msvcr120.def.in
index 746913c..3218c48 100644
--- a/mingw-w64-crt/libarm32/msvcr120.def.in
+++ b/mingw-w64-crt/libarm32/msvcr120.def.in
@@ -2002,9 +2002,9 @@
 lroundl
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -2170,7 +2170,7 @@
 vwprintf_s
 vwscanf
 vwscanf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -2190,7 +2190,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr
diff --git a/mingw-w64-crt/libarm32/msvcr120d.def.in b/mingw-w64-crt/libarm32/msvcr120d.def.in
index 0473b44..096f4d1 100644
--- a/mingw-w64-crt/libarm32/msvcr120d.def.in
+++ b/mingw-w64-crt/libarm32/msvcr120d.def.in
@@ -2067,9 +2067,9 @@
 lroundl
 malloc
 mblen
-mbrlen
-mbrtowc
-mbsrtowcs
+; mbrlen ; replaced, CRT version does not conform to C95
+; mbrtowc ; replaced, CRT version does not conform to C95
+; mbsrtowcs ; replaced, CRT version does not conform to C95
 mbsrtowcs_s
 mbstowcs
 mbstowcs_s
@@ -2235,7 +2235,7 @@
 vwprintf_s
 vwscanf
 vwscanf_s
-wcrtomb
+; wcrtomb ; replaced, CRT version does not report invalid conversion state
 wcrtomb_s
 wcscat
 wcscat_s
@@ -2255,7 +2255,7 @@
 wcsnlen
 wcspbrk
 wcsrchr
-wcsrtombs
+; wcsrtombs ; replaced, CRT version does not report invalid conversion state
 wcsrtombs_s
 wcsspn
 wcsstr