C99 vscanf-family functions are natively available since msvcr120. This change allows to use native UCRT and msvcr120 C99 vscanf-family functions. --- mingw-w64-crt/Makefile.am | 29 ++++++++++++++++---- mingw-w64-crt/def-include/crt-aliases.def.in | 8 ++++++ mingw-w64-crt/lib-common/msvcr120_app.def.in | 1 + mingw-w64-crt/lib32/msvcr120.def.in | 1 + mingw-w64-crt/lib64/msvcr120.def.in | 1 + mingw-w64-crt/libarm32/msvcr120.def.in | 1 + 6 files changed, 35 insertions(+), 6 deletions(-)
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index c207b3bcabac..ae3b04c1e8a4 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -297,8 +297,26 @@ src_msvcrt_commonarm64=\ $(src_msvcrt_common) \ $(src_msvcrt_common_add_arm64) +src_msvcrt_add_vscanf=\ + stdio/scanf.S \ + stdio/scanf2-argcount-char.c \ + stdio/scanf2-argcount-wchar.c \ + stdio/vfscanf.c \ + stdio/vfscanf2.S \ + stdio/vfwscanf.c \ + stdio/vfwscanf2.S \ + stdio/vscanf.c \ + stdio/vscanf2.S \ + stdio/vsscanf.c \ + stdio/vsscanf2.S \ + stdio/vswscanf.c \ + stdio/vswscanf2.S \ + stdio/vwscanf.c \ + stdio/vwscanf2.S + # Files included in libmsvcrt-os.a (for msvcrt.dll) on all archs src_msvcrt=\ + $(src_msvcrt_add_vscanf) \ misc/__sys_errlist.c \ misc/__sys_nerr.c \ misc/_configthreadlocale.c \ @@ -768,6 +786,7 @@ src_pre_msvcr100=\ misc/imaxdiv.c src_pre_msvcr120=\ + $(src_msvcrt_add_vscanf) \ math/i386__copysignf.c \ misc/isblank.c \ misc/iswblank.c \ @@ -942,9 +961,7 @@ src_libmingwex=\ ssp/memset_chk.c ssp/stack_chk_fail.c ssp/stack_chk_guard.c ssp/strcat_chk.c \ ssp/stpcpy_chk.c ssp/strcpy_chk.c ssp/strncat_chk.c ssp/strncpy_chk.c \ \ - stdio/scanf2-argcount-char.c stdio/scanf2-argcount-wchar.c \ - stdio/vfscanf2.S stdio/vfwscanf2.S stdio/vscanf2.S stdio/vsscanf2.S stdio/vswscanf2.S \ - stdio/vwscanf2.S stdio/strtok_r.c stdio/scanf.S \ + stdio/strtok_r.c \ stdio/_Exit.c stdio/_findfirst64i32.c stdio/_findnext64i32.c \ stdio/_stat.c stdio/_stat64i32.c stdio/_wfindfirst64i32.c stdio/_wfindnext64i32.c \ stdio/_wstat.c stdio/_wstat64i32.c stdio/asprintf.c \ @@ -960,9 +977,9 @@ src_libmingwex=\ stdio/mingw_vfwscanf.c stdio/mingw_vswscanf.c stdio/mingw_vsscanf.c stdio/mingw_sformat.c stdio/mingw_swformat.c \ \ stdio/snprintf.c stdio/snwprintf.c stdio/truncate.c \ - stdio/ulltoa.c stdio/ulltow.c stdio/vasprintf.c stdio/vfscanf.c stdio/vfwscanf.c \ - stdio/vscanf.c stdio/vsnprintf.c stdio/vsnwprintf.c stdio/vsscanf.c \ - stdio/vswscanf.c stdio/vwscanf.c stdio/wtoll.c stdio/mingw_asprintf.c stdio/mingw_vasprintf.c + stdio/ulltoa.c stdio/ulltow.c stdio/vasprintf.c \ + stdio/vsnprintf.c stdio/vsnwprintf.c \ + stdio/wtoll.c stdio/mingw_asprintf.c stdio/mingw_vasprintf.c # Include the default load config struct only for Control Flow Guard support. if CFGUARD diff --git a/mingw-w64-crt/def-include/crt-aliases.def.in b/mingw-w64-crt/def-include/crt-aliases.def.in index 48829497da0f..be873c0df376 100644 --- a/mingw-w64-crt/def-include/crt-aliases.def.in +++ b/mingw-w64-crt/def-include/crt-aliases.def.in @@ -545,6 +545,14 @@ __ms_vsprintf == vsprintf __ms_vwprintf == vwprintf __ms_wprintf == wprintf __ms_wscanf == wscanf +#ifdef WITH_MS_VSCANF_ALIASES +__ms_vfscanf == vfscanf +__ms_vfwscanf == vfwscanf +__ms_vscanf == vscanf +__ms_vsscanf == vsscanf +__ms_vswscanf == vswscanf +__ms_vwscanf == vwscanf +#endif #endif ; This is list of additional symbol aliases not available in any library as neither native symbols nor aliases diff --git a/mingw-w64-crt/lib-common/msvcr120_app.def.in b/mingw-w64-crt/lib-common/msvcr120_app.def.in index 4f17fb682340..c207c442fff6 100644 --- a/mingw-w64-crt/lib-common/msvcr120_app.def.in +++ b/mingw-w64-crt/lib-common/msvcr120_app.def.in @@ -2335,4 +2335,5 @@ wscanf_s #define CRTAPP #define USE_WCSTOK_S_FOR_WCSTOK +#define WITH_MS_VSCANF_ALIASES #include "crt-aliases.def.in" diff --git a/mingw-w64-crt/lib32/msvcr120.def.in b/mingw-w64-crt/lib32/msvcr120.def.in index 2432346e8ce7..5b4f5956fe3b 100644 --- a/mingw-w64-crt/lib32/msvcr120.def.in +++ b/mingw-w64-crt/lib32/msvcr120.def.in @@ -2297,4 +2297,5 @@ wscanf wscanf_s #define USE_WCSTOK_S_FOR_WCSTOK +#define WITH_MS_VSCANF_ALIASES #include "crt-aliases.def.in" diff --git a/mingw-w64-crt/lib64/msvcr120.def.in b/mingw-w64-crt/lib64/msvcr120.def.in index 3a6bc1a115f8..a1335e059edc 100644 --- a/mingw-w64-crt/lib64/msvcr120.def.in +++ b/mingw-w64-crt/lib64/msvcr120.def.in @@ -2253,4 +2253,5 @@ wscanf wscanf_s #define USE_WCSTOK_S_FOR_WCSTOK +#define WITH_MS_VSCANF_ALIASES #include "crt-aliases.def.in" diff --git a/mingw-w64-crt/libarm32/msvcr120.def.in b/mingw-w64-crt/libarm32/msvcr120.def.in index e43e29da9392..0f5c42508a2c 100644 --- a/mingw-w64-crt/libarm32/msvcr120.def.in +++ b/mingw-w64-crt/libarm32/msvcr120.def.in @@ -2221,4 +2221,5 @@ wscanf wscanf_s #define USE_WCSTOK_S_FOR_WCSTOK +#define WITH_MS_VSCANF_ALIASES #include "crt-aliases.def.in" -- 2.20.1 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public