Library msvcrt.dll was used by Visual C++ versions 4.2 - 6.0 and is also
part of the Windows system starting with NT 4.0 and 98.

Currently the file msvcrt.def.in contains mix of all symbols in semi
alphabetical order, with ad-hoc symbol aliases which some are not exported
by any msvcrt.dll version (but needed for mingw-w64).

Cleanup symbol definitions, reorder them into chronological order according
to released msvcrt.dll versions and add exhausting comments explaining from
which msvcrt.dll version is symbol present and also if it is being replaced
by other symbol at linking time for backward version compatibility reasons.

If there is a comment "replaced by" at a symbol line, it means that the
symbol is present since particular msvcrt.dll version, but mingw-w64 is
unconditionally replacing it by its own implementation.

If there is a comment "provided by" at a symbol line, it means that the
symbol for some architecture is not present in any version of msvcrt.dll
and mingw-w64 is providing own implementation.

In future this change allows to easily figure out if specific operating
system or Visual C++ version has support for particular function symbol
and if mingw-w64 is going to use that symbol or is replacing it by its own
implementation.

Chronological order of msvcrt.dll versions in which were changes is:

 - Visual C++ 4.2 / Windows NT 4.0
 - Visual C++ 5.0 SP1 / Windows 98 First Edition
 - Visual C++ 6.0 / Windows 98 Second Edition
 - Windows 2000 / Windows ME
 - Windows 2000 SP4 (*)
 - Windows XP
 - Windows XP SP3
 - Windows Server 2003
 - Windows Server 2003 SP1 / Windows XP x64
 - Windows Vista
 - Windows 8
 - Windows 8.1

(*) there is a small exception, new Windows 2000 SP4 symbols are not in
Windows XP until SP3.

msvcrt.def.in currently does not define symbols which were introduced in
Windows 10 (or new) version of msvcrt.dll. There is a TODO comment for it.
Also there is a TODO comment for future cleanup/documentation of ARM
symbols, as this change targets only I386 and X64 versions of msvcrt.dll.

This change as is does not introduce or remove any existing symbol in
msvcrt.def.in. It can be verified by comparing output of the following
command. Replace $PLAT with one of: DEF_I386 DEF_X64 DEF_ARM32 DEF_ARM64

  cpp -x c mingw-w64-crt/lib-common/msvcrt.def.in -Wp,-w -undef -P 
-Imingw-w64-crt/def-include -D$PLAT | sed -E 's/\s*;.*//' | LC_ALL=C sort -u
---
 mingw-w64-crt/lib-common/msvcrt.def.in | 1737 ++++++++++++------------
 1 file changed, 900 insertions(+), 837 deletions(-)

diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in 
b/mingw-w64-crt/lib-common/msvcrt.def.in
index cb9b25dd854f..0b516aec9da1 100644
--- a/mingw-w64-crt/lib-common/msvcrt.def.in
+++ b/mingw-w64-crt/lib-common/msvcrt.def.in
@@ -4,6 +4,7 @@ EXPORTS
 #include "func.def.in"
 #include "msvcrt-common.def.in"
 
+; List of I386 C++ mangled symbols which matches the first I386 version of 
msvcrt.dll (Microsoft Visual C++ 4.2)
 #ifdef DEF_I386
 ; public: __thiscall __non_rtti_object::__non_rtti_object(class 
__non_rtti_object const &)
 ??0__non_rtti_object@@QAE@ABV0@@Z ; has WINAPI (@4)
@@ -101,48 +102,10 @@ EXPORTS
 ?unexpected@@YAXXZ
 ; public: virtual char const *__thiscall exception::what(void)const
 ?what@exception@@UBEPBDXZ
-; void *__cdecl operator new[](unsigned int)
-??_U@YAPAXI@Z
-; void __cdecl operator delete[](void *)
-??_V@YAXPAX@Z
-; private: __thiscall bad_cast::bad_cast(char const *const *)
-??0bad_cast@@AAE@PBQBD@Z ; has WINAPI (@4)
-; public: __thiscall bad_cast::bad_cast(char const *)
-??0bad_cast@@QAE@PBD@Z ; has WINAPI (@4)
-; public: void __thiscall bad_cast::__dflt_ctor_closure(void)
-??_Fbad_cast@@QAEXXZ
-; public: void __thiscall bad_typeid::__dflt_ctor_closure(void)
-??_Fbad_typeid@@QAEXXZ
-; public: __thiscall exception::exception(char const *const &,int)
-??0exception@@QAE@ABQBDH@Z ; has WINAPI (@8)
-; void *__cdecl operator new(unsigned int,int,char const *,int)
-??2@YAPAXIHPBDH@Z
-; void *__cdecl operator new[](unsigned int,int,char const *,int)
-??_U@YAPAXIHPBDH@Z
-$I10_OUTPUT
-#endif
-
-#ifdef DEF_I386
-_CIacos
-_CIasin
-_CIatan
-_CIatan2
-_CIcos
-_CIcosh
-_CIexp
-_CIfmod
-_CIlog
-_CIlog10
-_CIpow
-_CIsin
-_CIsinh
-_CIsqrt
-_CItan
-_CItanh
 #endif
 
+; List of X64 C++ mangled symbols which matches the first X64 version of 
msvcrt.dll (Windows Server 2003 SP1 / Windows XP x64)
 #ifdef DEF_X64
-; $I10_OUTPUT is available in Windows XP x64, but was removed in Windows Vista 
x64
 ; public: __cdecl __non_rtti_object::__non_rtti_object(class __non_rtti_object 
const & __ptr64) __ptr64
 ; GCC = __ZN17__non_rtti_objectC2ERKS_
 ??0__non_rtti_object@@QEAA@AEBV0@@Z
@@ -253,16 +216,10 @@ _CItanh
 ?unexpected@@YAXXZ
 ; public: virtual char const * __ptr64 __cdecl exception::what(void)const  
__ptr64
 ?what@exception@@UEBAPEBDXZ
-; private: __thiscall bad_cast::bad_cast(char const *const *)
-??0bad_cast@@AAE@PBQBD@Z
-; public: __thiscall bad_cast::bad_cast(char const *const &)
-??0bad_cast@@QAE@ABQBD@Z
-; void *__ptr64 __cdecl operator new(unsigned __int64,int,char const 
*__ptr64,int)
-??2@YAPEAX_KHPEBDH@Z
-; void *__ptr64 __cdecl operator new[](unsigned __int64,int,char const 
*__ptr64,int)
-??_U@YAPEAX_KHPEBDH@Z
 #endif
 
+; List of ARM32 C++ mangled symbols
+; TODO: Verify if this list is correct and contains all symbols from the first 
ARM32 version of msvcrt.dll
 #ifdef DEF_ARM32
 ??0__non_rtti_object@@QAA@ABV0@@Z
 ??0__non_rtti_object@@QAA@PBD@Z
@@ -312,38 +269,31 @@ _CItanh
 ?what@exception@@UBAPBDXZ
 #endif
 
-_CrtCheckMemory
-_CrtDbgBreak
-_CrtDbgReport
-_CrtDbgReportV
-_CrtDbgReportW
-_CrtDbgReportWV
-_CrtDoForAllClientObjects
-_CrtDumpMemoryLeaks
-_CrtIsMemoryBlock
-_CrtIsValidHeapPointer
-_CrtIsValidPointer
-_CrtMemCheckpoint
-_CrtMemDifference
-_CrtMemDumpAllObjectsSince
-_CrtMemDumpStatistics
-_CrtReportBlockType
-_CrtSetAllocHook
-_CrtSetBreakAlloc
-_CrtSetDbgBlockType
-_CrtSetDbgFlag
-_CrtSetDumpClient
-_CrtSetReportFile
-_CrtSetReportHook
-_CrtSetReportHook2
-_CrtSetReportMode
+; List of ARM64 C++ mangled symbols
+; TODO: Fill this list with all symbols from the first ARM64 version of 
msvcrt.dll
 
-F_I386(_CallMemberFunction0@8)
-F_ARM32(_CallMemberFunction0)
-F_I386(_CallMemberFunction1@12)
-F_ARM32(_CallMemberFunction1)
-F_I386(_CallMemberFunction2@16)
-F_ARM32(_CallMemberFunction2)
+
+; This is list of symbols available in the original Microsoft Visual C++ 4.2 
version of msvcrt.dll
+; Same set of symbols are available in Windows NT 4.0 OS system version of 
msvcrt.dll
+F_I386($I10_OUTPUT) ; $I10_OUTPUT is available also in Windows XP x64, but was 
removed in Windows Vista x64
+#ifdef DEF_I386
+_CIacos
+_CIasin
+_CIatan
+_CIatan2
+_CIcos
+_CIcosh
+_CIexp
+_CIfmod
+_CIlog
+_CIlog10
+_CIpow
+_CIsin
+_CIsinh
+_CIsqrt
+_CItan
+_CItanh
+#endif
 F_I386(_CxxThrowException@8)
 F_NON_I386(_CxxThrowException)
 F_I386(_EH_prolog)
@@ -352,109 +302,30 @@ _Getmonths
 _Gettnames
 _HUGE DATA
 _Strftime
-_W_Getdays
-_W_Getmonths
-_W_Gettnames
-_Wcsftime
 _XcptFilter
-__AdjustPointer
-F_NON_I386(__C_specific_handler)
-__CppXcptFilter
-F_X86_ANY(__CxxCallUnwindDelDtor)
-F_I386(__CxxCallUnwindDtor)
-F_I386(__CxxCallUnwindVecDtor)
-F_I386(__CxxDetectRethrow)
-F_I386(__CxxExceptionFilter)
 F_X86_ANY(__CxxFrameHandler)
-__CxxFrameHandler2
-__CxxFrameHandler3
 F_I386(__CxxLongjmpUnwind@4)
-F_I386(__CxxQueryExceptionSize)
-F_I386(__CxxRegisterExceptionObject)
-F_I386(__CxxUnregisterExceptionObject)
-__DestructExceptionObject
-__ExceptionPtrAssign
-__ExceptionPtrCompare
-__ExceptionPtrCopy
-__ExceptionPtrCopyException
-__ExceptionPtrCreate
-__ExceptionPtrCurrentException
-__ExceptionPtrDestroy
-__ExceptionPtrRethrow
-__ExceptionPtrSwap
-__ExceptionPtrToBool
 __RTCastToVoid
 __RTDynamicCast
 __RTtypeid
 __STRINGTOLD
-F_NON_I386(___lc_codepage_func)
-___lc_collate_cp_func
-___lc_handle_func
-; ___mb_cur_max_func exists (on all archs) since XP. Earlier, this function
-; was never used, but the __mb_cur_max data symbol was accessed instead.
-; For i386 we provide this function as a statically linked helper, that uses
-; __mb_cur_max, to avoid forcing a dependency on XP here.
-F_NON_I386(___mb_cur_max_func)
-F_X86_ANY(___setlc_active_func)
-F_X86_ANY(___unguarded_readlc_active_add_func)
 __argc DATA
 __argv DATA
 __badioinfo DATA
 __crtCompareStringA
-__crtCompareStringW
 __crtGetLocaleInfoW
-__crtGetStringTypeW
 __crtLCMapStringA
-__crtLCMapStringW
-__daylight
 __dllonexit
 __doserrno
-__dstbias
 __fpecode
 __getmainargs
 F_X86_ANY(__initenv DATA)
-__iob_func
 __isascii
 __iscsym
 __iscsymf
 F_X86_ANY(__lc_codepage DATA)
-F_X86_ANY(__lc_collate_cp DATA)
 __lc_handle DATA
 __lconv_init
-#ifdef DEF_I386
-__libm_sse2_acos
-__libm_sse2_acosf
-__libm_sse2_asin
-__libm_sse2_asinf
-__libm_sse2_atan
-__libm_sse2_atan2
-__libm_sse2_atanf
-__libm_sse2_cos
-__libm_sse2_cosf
-__libm_sse2_exp
-__libm_sse2_expf
-__libm_sse2_log
-__libm_sse2_log10
-__libm_sse2_log10f
-__libm_sse2_logf
-__libm_sse2_pow
-__libm_sse2_powf
-__libm_sse2_sin
-__libm_sse2_sinf
-__libm_sse2_tan
-__libm_sse2_tanf
-_libm_sse2_acos_precise
-_libm_sse2_asin_precise
-_libm_sse2_atan_precise
-_libm_sse2_cos_precise
-_libm_sse2_exp_precise
-_libm_sse2_log10_precise
-_libm_sse2_log_precise
-_libm_sse2_pow_precise
-_libm_sse2_sin_precise
-_libm_sse2_sqrt_precise
-_libm_sse2_tan_precise
-#endif
 __mb_cur_max DATA
 #ifdef DEF_I386
 __p___argc
@@ -472,7 +343,6 @@ __p__environ
 __p__fileinfo
 __p__fmode
 __p__iob
-__p__mbcasemap
 __p__mbctype
 __p__osver
 __p__pctype
@@ -487,33 +357,21 @@ __p__winminor
 __p__winver
 __p__wpgmptr
 #endif
-__pctype_func
 __pioinfo DATA
-__pwctype_func
 __pxcptinfoptrs
 __set_app_type
 F_X86_ANY(__setlc_active DATA)
 __setusermatherr
-__strncnt
 F_X86_ANY(__threadhandle)
 F_X86_ANY(__threadid)
 __toascii
-__uncaught_exception
 __unDName
-__unDNameEx
 F_X86_ANY(__unguarded_readlc_active DATA)
 __wargv DATA
-__wcserror
-__wcserror_s
-__wcsncnt
 __wgetmainargs
 F_X86_ANY(__winitenv DATA)
 F_I386(_abnormal_termination)
-F_NON_I386(_abs64)
-F_NON_I386(llabs == _abs64)
-F_NON_I386(imaxabs == _abs64)
 _access
-; _access_s Replaced by emu
 _acmdln DATA
 #ifdef DEF_I386
 _adj_fdiv_m16i@4
@@ -532,111 +390,49 @@ _adj_fptan
 _adjust_fdiv DATA
 #endif
 _aexit_rtn DATA
-_aligned_free
-_aligned_free_dbg
-_aligned_malloc
-_aligned_malloc_dbg
-_aligned_offset_malloc
-_aligned_offset_malloc_dbg
-_aligned_offset_realloc
-_aligned_offset_realloc_dbg
-_aligned_realloc
-_aligned_realloc_dbg
 _amsg_exit
 _assert
 _atodbl
-_atodbl_l
-_atof_l
-_atoflt_l
 _atoi64
-atoll == _atoi64
-_atoi64_l
-_atoll_l == _atoi64_l
-_atoi_l
-_atol_l
 _atoldbl
-_atoldbl_l
 F_X86_ANY(_beep)
 _beginthread
 _beginthreadex
 _c_exit
 _cabs DATA
 _callnewh
-_calloc_dbg
 _cexit
 _cgets
-; _cgets_s replaced by emu
-_cgetws
-; _cgetws_s replaced by emu
 _chdir
 _chdrive
 _chgsign
-F_NON_I386(_chgsignf)
 _chmod
-F_I386(_chkesp)
 _chsize
-; _chsize_s replaced by emu
-_chvalidator
-_chvalidator_l
 _clearfp
 _close
 _commit
 _commode DATA
 _control87
 _controlfp
-; _controlfp_s replaced by emu
 _copysign
-F_NON_I386(_copysignf)
 _cprintf
-_cprintf_l
-_cprintf_p
-_cprintf_p_l
-; _cprintf_s Replaced by emu
-; _cprintf_s_l likewise.
 _cputs
-_cputws
 _creat
-F_ARM_ANY(_create_locale)
-_crtAssertBusy
-_crtBreakAlloc
-_crtDbgFlag
 _cscanf
-_cscanf_l
-_cscanf_s
-_cscanf_s_l
-F_ARM_ANY(_ctime32)
-F_I386(_ctime32 == ctime)
-; _ctime32_s replaced by emu
-_ctime64
-; _ctime64_s replaced by emu
 _ctype F_I386(DATA)
 _cwait
-_cwprintf
-_cwprintf_l
-_cwprintf_p
-_cwprintf_p_l
-; _cwprintf_s Replaced by emu
-; _cwprintf_s_l Likewise.
-_cwscanf
-_cwscanf_l
-_cwscanf_s
-_cwscanf_s_l
-F_X86_ANY(_dstbias DATA)
 _daylight DATA
-_difftime32 F_I386(== difftime)
-_difftime64
+F_X86_ANY(_dstbias DATA)
 _dup
 _dup2
 _ecvt
-_ecvt_s
-_endthread
-_endthreadex
+_endthread ; In Windows XP and Windows XP SP1 OS system version of msvcrt.dll 
this symbol has name _endthread@4, in all other versions (including XP SP3) it 
has standard name
+_endthreadex ; In Windows XP and Windows XP SP1 OS system version of 
msvcrt.dll this symbol has name _endthreadex@4, in all other versions 
(including XP SP3) it has standard name
 F_X86_ANY(_environ DATA)
 _eof
 _errno
 F_I386(_except_handler2)
 F_I386(_except_handler3)
-F_I386(_except_handler4_common)
 _execl
 _execle
 _execlp
@@ -647,10 +443,8 @@ _execvp
 _execvpe
 _exit
 _expand
-_expand_dbg
 _fcloseall
 _fcvt
-_fcvt_s
 _fdopen
 _fgetchar
 _fgetwchar
@@ -661,90 +455,29 @@ _filelengthi64
 _fileno
 _findclose
 _findfirst
-F32(_findfirst32 == _findfirst)
-_findfirst64
 _findfirsti64
-F32(_findfirst32i64 == _findfirsti64)
-F64(_findfirst64i32 == _findfirst)
 _findnext
-F32(_findnext32 == _findnext)
-_findnext64
 _findnexti64
-F32(_findnext32i64 == _findnexti64)
-F64(_findnext64i32 == _findnext)
 _finite
-F_NON_I386(_finitef)
 _flsbuf
 _flushall
 _fmode DATA
 _fpclass
-F_X64(_fpclassf)
 F_I386(_fpieee_flt)
 F_ARM_ANY(_fpieee_flt)
 _fpreset DATA
-_fprintf_l
-_fprintf_p
-_fprintf_p_l
-_fprintf_s_l
 _fputchar
 _fputwchar
-_free_dbg
-F_ARM_ANY(_free_locale)
-_freea
-_freea_s
-_fscanf_l
-_fscanf_s_l
-_fseeki64
 _fsopen
 _fstat
-F32(_fstat32 == _fstat)
-_fstat64
 _fstati64
-F64(_fstat64i32 == _fstat)
 _ftime
-F_I386(_ftime32 == _ftime)
-F_NON_I386(_ftime32)
-_ftime32_s
-_ftime64
-_ftime64_s
-F32(_ftime_s == _ftime32_s)
-F64(_ftime_s == _ftime64_s)
 F_I386(_ftol)
-F_I386(_ftol2)
-F_I386(_ftol2_sse)
-F_I386(_ftol2_sse_excpt)
 _fullpath
-_fullpath_dbg
 _futime
-F_I386(_futime32 == _futime)
-F_NON_I386(_futime32)
-_futime64
-_fwprintf_l
-_fwprintf_p
-_fwprintf_p_l
-_fwprintf_s_l
-_fwscanf_l
-_fwscanf_s_l
 _gcvt
-_gcvt_s
-F_ARM_ANY(_get_current_locale)
-_get_doserrno
-_get_environ
-_get_errno
-_get_fileinfo
-_get_fmode
-F_X86_ANY(_get_heap_handle)
 _get_osfhandle
-F_X86_ANY(_get_osplatform)
-F_X86_ANY(_get_osver)
-;_get_output_format provided by emu
-_get_pgmptr
 F_X86_ANY(_get_sbh_threshold)
-_get_wenviron
-F_X86_ANY(_get_winmajor)
-F_X86_ANY(_get_winminor)
-F_X86_ANY(_get_winver)
-_get_wpgmptr
 _getch
 _getche
 _getcwd
@@ -758,14 +491,8 @@ _getmbcp
 F_X86_ANY(_getpid)
 F_X86_ANY(_getsystime)
 _getw
-_getwch
-_getwche
 F_X86_ANY(_getws)
 F_I386(_global_unwind2)
-_gmtime32 F_I386(== gmtime)
-; _gmtime32_s replaced by emu
-_gmtime64
-; _gmtime64_s replaced by emu
 F_X86_ANY(_heapadd)
 _heapchk
 _heapmin
@@ -773,300 +500,129 @@ F_X86_ANY(_heapset)
 F_X86_ANY(_heapused)
 _heapwalk
 _hypot
-F_NON_I386(_hypotf)
 _i64toa
-_i64toa_s
 _i64tow
-_i64tow_s
 _initterm
-_initterm_e
 F_I386(_inp)
 F_I386(_inpd)
 F_I386(_inpw)
-_invalid_parameter
 _iob DATA
-_isalnum_l
-_isalpha_l
 _isatty
-_iscntrl_l
 _isctype
-_isctype_l
-_isdigit_l
-_isgraph_l
-_isleadbyte_l
-_islower_l
 _ismbbalnum
-_ismbbalnum_l
 _ismbbalpha
-_ismbbalpha_l
 _ismbbgraph
-_ismbbgraph_l
 _ismbbkalnum
-_ismbbkalnum_l
 _ismbbkana
-_ismbbkana_l
 _ismbbkprint
-_ismbbkprint_l
 _ismbbkpunct
-_ismbbkpunct_l
 _ismbblead
-_ismbblead_l
 _ismbbprint
-_ismbbprint_l
 _ismbbpunct
-_ismbbpunct_l
 _ismbbtrail
-_ismbbtrail_l
 _ismbcalnum
-_ismbcalnum_l
 _ismbcalpha
-_ismbcalpha_l
 _ismbcdigit
-_ismbcdigit_l
 _ismbcgraph
-_ismbcgraph_l
 _ismbchira
-_ismbchira_l
 _ismbckata
-_ismbckata_l
 _ismbcl0
-_ismbcl0_l
 _ismbcl1
-_ismbcl1_l
 _ismbcl2
-_ismbcl2_l
 _ismbclegal
-_ismbclegal_l
 _ismbclower
-_ismbclower_l
 _ismbcprint
-_ismbcprint_l
 _ismbcpunct
-_ismbcpunct_l
 _ismbcspace
-_ismbcspace_l
 _ismbcsymbol
-_ismbcsymbol_l
 _ismbcupper
-_ismbcupper_l
 _ismbslead
-_ismbslead_l
 _ismbstrail
-_ismbstrail_l
 _isnan
-F_X64(_isnanf)
-_isprint_l
-_isspace_l
-_isupper_l
-_iswalnum_l
-_iswalpha_l
-_iswcntrl_l
-_iswctype_l
-_iswdigit_l
-_iswgraph_l
-_iswlower_l
-_iswprint_l
-_iswpunct_l
-_iswspace_l
-_iswupper_l
-_iswxdigit_l
-_isxdigit_l
 _itoa
-_itoa_s
 _itow
-_itow_s
 _j0
 _j1
 _jn
 _kbhit
 _lfind
 F_X86_ANY(_loaddll)
-_lfind_s
-F_X64(_local_unwind)
 F_I386(_local_unwind2)
-F_I386(_local_unwind4)
-_localtime32 F_I386(== localtime)
-; _localtime32_s replaced by emu
-_localtime64
-; _localtime64_s replaced by emu
 _lock
 _locking
 _logb
-F_NON_I386(_logbf)
 F_I386(_longjmpex)
 _lrotl
 _lrotr
 _lsearch
-_lsearch_s
 _lseek
 _lseeki64
 _ltoa
-_ltoa_s
 _ltow
-_ltow_s
 _makepath
-_makepath_s
-_malloc_dbg
 _mbbtombc
-_mbbtombc_l
 _mbbtype
-_mbcasemap F_NON_I386(DATA)
 _mbccpy
-_mbccpy_l
-_mbccpy_s
-_mbccpy_s_l
 _mbcjistojms
-_mbcjistojms_l
 _mbcjmstojis
-_mbcjmstojis_l
 _mbclen
-_mbclen_l
 _mbctohira
-_mbctohira_l
 _mbctokata
-_mbctokata_l
 _mbctolower
-_mbctolower_l
 _mbctombb
-_mbctombb_l
 _mbctoupper
-_mbctoupper_l
 _mbctype DATA
-_mblen_l
 _mbsbtype
-_mbsbtype_l
 _mbscat
-_mbscat_s
-_mbscat_s_l
 _mbschr
-_mbschr_l
 _mbscmp
-_mbscmp_l
 _mbscoll
-_mbscoll_l
 _mbscpy
-_mbscpy_s
-_mbscpy_s_l
 _mbscspn
-_mbscspn_l
 _mbsdec
-_mbsdec_l
 _mbsdup
 _mbsicmp
-_mbsicmp_l
 _mbsicoll
-_mbsicoll_l
 _mbsinc
-_mbsinc_l
 _mbslen
-_mbslen_l
 _mbslwr
-_mbslwr_l
-_mbslwr_s
-_mbslwr_s_l
 _mbsnbcat
-_mbsnbcat_l
-_mbsnbcat_s
-_mbsnbcat_s_l
 _mbsnbcmp
-_mbsnbcmp_l
 _mbsnbcnt
-_mbsnbcnt_l
 _mbsnbcoll
-_mbsnbcoll_l
 _mbsnbcpy
-_mbsnbcpy_l
-_mbsnbcpy_s
-_mbsnbcpy_s_l
 _mbsnbicmp
-_mbsnbicmp_l
 _mbsnbicoll
-_mbsnbicoll_l
 _mbsnbset
-_mbsnbset_l
-_mbsnbset_s
-_mbsnbset_s_l
 _mbsncat
-_mbsncat_l
-_mbsncat_s
-_mbsncat_s_l
 _mbsnccnt
-_mbsnccnt_l
 _mbsncmp
-_mbsncmp_l
 _mbsncoll
-_mbsncoll_l
 _mbsncpy
-_mbsncpy_l
-_mbsncpy_s
-_mbsncpy_s_l
 _mbsnextc
-_mbsnextc_l
 _mbsnicmp
-_mbsnicmp_l
 _mbsnicoll
-_mbsnicoll_l
 _mbsninc
-_mbsninc_l
-_mbsnlen
-_mbsnlen_l
 _mbsnset
-_mbsnset_l
-_mbsnset_s
-_mbsnset_s_l
 _mbspbrk
-_mbspbrk_l
 _mbsrchr
-_mbsrchr_l
 _mbsrev
-_mbsrev_l
 _mbsset
-_mbsset_l
-_mbsset_s
-_mbsset_s_l
 _mbsspn
-_mbsspn_l
 _mbsspnp
-_mbsspnp_l
 _mbsstr
-_mbsstr_l
 _mbstok
-_mbstok_l
-_mbstok_s
-_mbstok_s_l
-_mbstowcs_l
-_mbstowcs_s_l
 _mbstrlen
-_mbstrlen_l
-_mbstrnlen
-_mbstrnlen_l
 _mbsupr
-_mbsupr_l
-_mbsupr_s
-_mbsupr_s_l
-_mbtowc_l
 _memccpy
-F_ARM_ANY(_memcpy_strict_align)
 _memicmp
-_memicmp_l
 _mkdir
-_mkgmtime
-_mkgmtime32
-_mkgmtime64
 _mktemp
-; _mktemp_s replaced by emu
-F_I386(_mktime32 == mktime)
-F_ARM_ANY(_mktime32)
-_mktime64
 _msize
-F_NON_I386(_msize_dbg)
-F_I386(_msize_debug)
 _nextafter
-F_X64(_nextafterf)
 _onexit
 _open
 _open_osfhandle
-F_X86_ANY(_osplatform DATA)
 _osver DATA
 F_I386(_outp)
 F_I386(_outpd)
@@ -1076,27 +632,17 @@ _pctype DATA
 _pgmptr DATA
 _pipe
 _popen
-_printf_l
-_printf_p
-_printf_p_l
-_printf_s_l
 _purecall
 _putch
 _putenv
-_putenv_s
 _putw
-_putwch
 _putws
 _pwctype DATA
 _read
-_realloc_dbg
-_resetstkoflw
 _rmdir
 _rmtmp
 _rotl
-F_NON_I386(_rotl64)
 _rotr
-F_NON_I386(_rotr64)
 #ifdef DEF_I386
 _safe_fdiv
 _safe_fdivr
@@ -1104,58 +650,21 @@ _safe_fprem
 _safe_fprem1
 #endif
 _scalb
-F_X64(_scalbf)
-_scanf_l
-_scanf_s_l
-F_NON_I386(_scprintf) ; i386 _scprintf replaced by emu
-_scprintf_l
-_scprintf_p_l
-_scwprintf
-_scwprintf_l
-_scwprintf_p_l
 _searchenv
-_searchenv_s
 F_I386(_seh_longjmp_unwind@4)
-F_I386(_seh_longjmp_unwind4@4)
-_set_controlfp
-_set_doserrno
-F_ARM_ANY(_set_errno)
 _set_error_mode
-_set_fileinfo
-_set_fmode
 F_X86_ANY(_set_sbh_threshold)
-; _set_output_format provided by emu
-F_I386(_set_SSE2_enable)
 F_X86_ANY(_seterrormode)
 _setjmp
 F_I386(_setjmp3)
-F_NON_I386(_setjmpex)
 F_X86_ANY(_setmaxstdio)
 _setmbcp
 _setmode
 F_X86_ANY(_setsystime)
 F_X86_ANY(_sleep)
 _snprintf
-_snprintf_c
-_snprintf_c_l
-_snprintf_l
-_snprintf_s
-_snprintf_s_l
-_snscanf
-_snscanf_l
-_snscanf_s
-_snscanf_s_l
 _snwprintf
-snwprintf == _snwprintf
-_snwprintf_l
-_snwprintf_s
-_snwprintf_s_l
-_snwscanf
-_snwscanf_l
-_snwscanf_s
-_snwscanf_s_l
 _sopen
-; _sopen_s replaced by emu
 _spawnl
 _spawnle
 _spawnlp
@@ -1165,224 +674,65 @@ _spawnve
 _spawnvp
 _spawnvpe
 _splitpath
-_splitpath_s
-_sprintf_l
-_sprintf_p_l
-_sprintf_s_l
-_sscanf_l
-_sscanf_s_l
 _stat
-_stat64
 _stati64
-F32(_stat32 == _stat)
-F64(_stat64i32 == _stat)
 _statusfp
 _strcmpi
-_strcoll_l
 _strdate
-; _strdate_s replaced by emu
 _strdup
-_strdup_dbg
 _strerror
-_strerror_s
 _stricmp
-_stricmp_l
 _stricoll
-_stricoll_l
 _strlwr
-_strlwr_l
-_strlwr_s
-_strlwr_s_l
 _strncoll
-_strncoll_l
 _strnicmp
-_strnicmp_l
 _strnicoll
-_strnicoll_l
 _strnset
-_strnset_s
 _strrev
 _strset
-_strset_s
 _strtime
-; _strtime_s replaced by emu
-_strtod_l
-_strtoi64
-strtoll == _strtoi64
-strtoimax == _strtoi64
-_strtoi64_l
-_strtoll_l == _strtoi64_l
-_strtoimax_l == _strtoi64_l
-_strtol_l
-_strtoui64
-strtoull == _strtoui64
-strtoumax == _strtoui64
-_strtoui64_l
-_strtoull_l == _strtoui64_l
-_strtoumax_l == _strtoui64_l
-_strtoul_l
 _strupr
-_strupr_l
-_strupr_s
-_strupr_s_l
-_strxfrm_l
 _swab
-_swprintf == swprintf
-_swprintf_c
-_swprintf_c_l
-_swprintf_p_l
-_swprintf_s_l
-_swscanf_l
-_swscanf_s_l
 _sys_errlist DATA
 _sys_nerr DATA
 _tell
 _telli64
 _tempnam
-_tempnam_dbg
-F_I386(_time32 == time)
-F_ARM_ANY(_time32)
-_time64
 _timezone DATA
 _tolower
-_tolower_l
 _toupper
-_toupper_l
-_towlower_l
-_towupper_l
 _tzname DATA
 _tzset
 _ui64toa
-_ui64toa_s
 _ui64tow
-_ui64tow_s
 _ultoa
-_ultoa_s
 _ultow
-_ultow_s
 _umask
-; _umask_s replaced by emu
 _ungetch
-_ungetwch
 _unlink
 F_X86_ANY(_unloaddll)
 _unlock
 _utime
-F_I386(_utime32 == _utime)
-F_NON_I386(_utime32)
-_utime64
-_vcprintf
-_vcprintf_l
-_vcprintf_p
-_vcprintf_p_l
-; _vcprintf_s Replaced by emu
-; _vcprintf_s_l Likewise.
-_vcwprintf
-_vcwprintf_l
-_vcwprintf_p
-_vcwprintf_p_l
-; _vcwprintf_s Replaced by emu
-; _vcwprintf_s_l Likewise.
-_vfprintf_l
-_vfprintf_p
-_vfprintf_p_l
-_vfprintf_s_l
-_vfwprintf_l
-_vfwprintf_p
-_vfwprintf_p_l
-_vfwprintf_s_l
-_vprintf_l
-_vprintf_p
-_vprintf_p_l
-_vprintf_s_l
-F_NON_I386(_vscprintf) ; i386 _vscprintf replaced by emu
-_vscprintf_l
-_vscprintf_p_l
-_vscwprintf
-_vscwprintf_l
-_vscwprintf_p_l
 _vsnprintf
-_vsnprintf_c
-_vsnprintf_c_l
-_vsnprintf_l
-_vsnprintf_s
-_vsnprintf_s_l
 _vsnwprintf
-vsnwprintf == _vsnwprintf
-_vsnwprintf_l
-_vsnwprintf_s
-_vsnwprintf_s_l
-_vsprintf_l
-_vsprintf_p
-_vsprintf_p_l
-_vsprintf_s_l
-_vswprintf F_I386(== vswprintf)
-_vswprintf_c
-_vswprintf_c_l
-_vswprintf_l
-_vswprintf_p_l
-_vswprintf_s_l
-_vwprintf_l
-_vwprintf_p
-_vwprintf_p_l
-_vwprintf_s_l
 _waccess
-; _waccess_s Replaced by emu
 _wasctime
-; _wasctime_s Replaced by emu
-F_NON_I386(_wassert)
 _wchdir
 _wchmod
 _wcmdln DATA
 _wcreat
-_wcscoll_l
 _wcsdup
-_wcsdup_dbg
-_wcserror
-_wcserror_s
-_wcsftime_l
 _wcsicmp
-_wcsicmp_l
 _wcsicoll
-_wcsicoll_l
 _wcslwr
-_wcslwr_l
-_wcslwr_s
-_wcslwr_s_l
 _wcsncoll
-_wcsncoll_l
 _wcsnicmp
-_wcsnicmp_l
 _wcsnicoll
-_wcsnicoll_l
 _wcsnset
-_wcsnset_s
 _wcsrev
 _wcsset
-_wcsset_s
-_wcstod_l
-_wcstoi64
-_wcstoi64_l
-_wcstol_l
-_wcstombs_l
-_wcstombs_s_l
-_wcstoui64
-_wcstoui64_l
-_wcstoul_l
 _wcsupr
-_wcsupr_l
-_wcsupr_s
-_wcsupr_s_l
-_wcsxfrm_l
 _wctime
-F_I386(_wctime32 == _wctime)
-F_ARM_ANY(_wctime32)
-; _wctime32_s replaced by emu
-_wctime64
-; _wctime64_s replaced by emu
-_wctomb_l
-_wctomb_s_l
-_wctype
 F_X86_ANY(_wenviron DATA)
 _wexecl
 _wexecle
@@ -1394,59 +744,34 @@ _wexecvp
 _wexecvpe
 _wfdopen
 _wfindfirst
-F32(_wfindfirst32 == _wfindfirst)
-_wfindfirst64
 _wfindfirsti64
-F32(_wfindfirst32i64 == _wfindfirsti64)
-F64(_wfindfirst64i32 == _wfindfirst)
 _wfindnext
-F32(_wfindnext32 == _wfindnext)
-_wfindnext64
 _wfindnexti64
-F32(_wfindnext32i64 == _wfindnexti64)
-F64(_wfindnext64i32 == _wfindnext)
 _wfopen
-_wfopen_s
 _wfreopen
-_wfreopen_s
 _wfsopen
 _wfullpath
-_wfullpath_dbg
 _wgetcwd
 _wgetdcwd
 _wgetenv
-_wgetenv_s
 _winmajor DATA
 _winminor DATA
-_winput_s
 F_X86_ANY(_winver DATA)
 _wmakepath
-_wmakepath_s
 _wmkdir
 _wmktemp
-; _wmktemp_s replaced by emu
 _wopen
-_woutput_s
 _wperror
 _wpgmptr DATA
 _wpopen
-_wprintf_l
-_wprintf_p
-_wprintf_p_l
-_wprintf_s_l
 _wputenv
-_wputenv_s
 _wremove
 _wrename
 _write
 _wrmdir
-_wscanf_l
-_wscanf_s_l
 _wsearchenv
-_wsearchenv_s
 _wsetlocale
 _wsopen
-_wsopen_s
 _wspawnl
 _wspawnle
 _wspawnlp
@@ -1456,81 +781,45 @@ _wspawnve
 _wspawnvp
 _wspawnvpe
 _wsplitpath
-_wsplitpath_s
 _wstat
-_wstat64
 _wstati64
-F32(_wstat32 == _wstat)
-F64(_wstat64i32 == _wstat)
 _wstrdate
-; _wstrdate_s replaced by emu
 _wstrtime
-; _wstrtime_s replaced by emu
 _wsystem
 _wtempnam
-_wtempnam_dbg
 _wtmpnam
-_wtmpnam_s
-_wtof
-_wtof_l
 _wtoi
 _wtoi64
-_wtoi64_l
-_wtoi_l
 _wtol
-_wtol_l
 _wunlink
 _wutime
-F_I386(_wutime32 == _wutime)
-F_NON_I386(_wutime32)
-_wutime64
 _y0
 _y1
 _yn
 abort
 abs
 acos
-F_NON_I386(acosf F_X86_ANY(DATA))
-F_ARM_ANY(acosl == acos)
 asctime
-; asctime_s replaced by emu
 asin
-F_NON_I386(asinf F_X86_ANY(DATA))
-F_ARM_ANY(asinl == asin)
 atan
 atan2 F_X86_ANY(DATA)
-F_NON_I386(atan2f F_X86_ANY(DATA))
-F_ARM_ANY(atan2l == atan2)
-F_NON_I386(atanf F_X86_ANY(DATA))
-F_ARM_ANY(atanl == atan)
 atexit DATA
 atof
 atoi
 atol
 bsearch
-bsearch_s
-F_ARM_ANY(btowc)
 calloc
 ceil F_X86_ANY(DATA)
-F_NON_I386(ceilf F_X86_ANY(DATA))
-F_ARM_ANY(ceill == ceil)
 clearerr
-clearerr_s
 clock
 cos F_X86_ANY(DATA)
-F_NON_I386(cosf F_X86_ANY(DATA))
-F_ARM_ANY(cosl == cos)
 cosh
-F_NON_I386(coshf DATA)
 ctime
 difftime
 div
 exit
 exp F_X86_ANY(DATA)
-F_NON_I386(expf F_X86_ANY(DATA))
-F_ARM_ANY(expl == exp)
 fabs DATA
-F_ARM_ANY(fabsf)
 fclose
 feof
 ferror
@@ -1541,16 +830,9 @@ fgets
 fgetwc
 fgetws
 floor F_X86_ANY(DATA)
-F_NON_I386(floorf F_X86_ANY(DATA))
-F_ARM_ANY(floorl == floor)
 fmod F_X86_ANY(DATA)
-F_NON_I386(fmodf F_X86_ANY(DATA))
-F_ARM_ANY(fmodl == fmod)
 fopen
-fopen_s
 fprintf
-__ms_fprintf == fprintf
-fprintf_s
 fputc
 fputs
 fputwc
@@ -1558,25 +840,17 @@ fputws
 fread
 free
 freopen
-freopen_s
 frexp DATA
 fscanf
-__ms_fscanf == fscanf
-fscanf_s
 fseek
 fsetpos
 ftell
 fwprintf
-__ms_fwprintf == fwprintf
-fwprintf_s
 fwrite
 fwscanf
-__ms_fwscanf == fwscanf
-fwscanf_s
 getc
 getchar
 getenv
-getenv_s
 F_X86_ANY(gets)
 getwc
 getwchar
@@ -1614,184 +888,973 @@ localeconv
 localtime
 log F_X86_ANY(DATA)
 log10
-F_NON_I386(log10f F_X86_ANY(DATA))
-F_ARM_ANY(log10l == log10)
-F_NON_I386(logf F_X86_ANY(DATA))
-F_ARM_ANY(logl == log)
 longjmp
 malloc
 mblen
-F_ARM_ANY(mbrlen)
-F_ARM_ANY(mbrtowc)
-mbsdup_dbg
-F_ARM_ANY(mbsrtowcs)
-mbsrtowcs_s
 mbstowcs
-mbstowcs_s
 mbtowc
 memchr
 memcmp
 memcpy
-; memcpy_s replaced by emu
 memmove
-; memmove_s replaced by emu
 memset
 mktime
 modf DATA
-F_NON_I386(modff DATA)
 perror
 pow DATA
-F_NON_I386(powf DATA)
 printf
-__ms_printf == printf
-printf_s
 putc
 putchar
 puts
 putwc
 putwchar
 qsort
-qsort_s
 raise
 rand
-; rand_s replaced by emu
 realloc
 remove
 rename
 rewind
 scanf
-__ms_scanf == scanf
-scanf_s
 setbuf
-F_NON_I386(setjmp)
 setlocale
 setvbuf
 signal
 sin F_X86_ANY(DATA)
-F_NON_I386(sinf F_X86_ANY(DATA))
-F_ARM_ANY(sinl == sin)
-; if we implement sinh, we can set it DATA only.
-sinh
-F_NON_I386(sinhf DATA)
+sinh ; if we implement sinh, we can set it DATA only.
 sprintf
-__ms_sprintf == sprintf
-; sprintf_s replaced by emu
 sqrt DATA
-F_NON_I386(sqrtf DATA)
 srand
 sscanf
-__ms_sscanf == sscanf
-sscanf_s
 strcat
-strcat_s
 strchr
 strcmp
 strcoll
 strcpy
-strcpy_s
 strcspn
 strerror
-; strerror_s replaced by emu
 strftime
 strlen
 strncat
-strncat_s
 strncmp
 strncpy
-strncpy_s
-; strnlen replaced by emu
 strpbrk
 strrchr
 strspn
 strstr
 strtod
 strtok
-strtok_s
 strtol
 strtoul
 strxfrm
 swprintf
-__ms_swprintf == swprintf
-swprintf_s
 swscanf
-__ms_swscanf == swscanf
-swscanf_s
 system
 tan
-F_NON_I386(tanf F_X86_ANY(DATA))
-F_ARM_ANY(tanl == tan)
-; if we implement tanh, we can set it to DATA only.
-tanh
-F_ARM_ANY(tanhf)
+tanh ; if we implement tanh, we can set it to DATA only.
 time F_NON_I386(== _time64)
 tmpfile
-tmpfile_s
 tmpnam
-tmpnam_s
 tolower
 toupper
 towlower
 towupper
 ungetc
 ungetwc
-F_ARM_ANY(utime)
 vfprintf
-__ms_vfprintf == vfprintf
-vfprintf_s
 vfwprintf
-__ms_vfwprintf == vfwprintf
-vfwprintf_s
 vprintf
-__ms_vprintf == vprintf
-vprintf_s
 vsprintf
-__ms_vsprintf == vsprintf
-; vsprintf_s replaced by emu
 vswprintf
-__ms_vswprintf == vswprintf
-vswprintf_s
 vwprintf
-__ms_vwprintf == vwprintf
-vwprintf_s
-F_ARM_ANY(wcrtomb)
-wcrtomb_s
 wcscat
-wcscat_s
 wcschr
 wcscmp
 wcscoll
 wcscpy
-wcscpy_s
 wcscspn
 wcsftime
 wcslen
 wcsncat
-wcsncat_s
 wcsncmp
 wcsncpy
-wcsncpy_s
-; We provide replacement implementation in libmingwex
-F_ARM_ANY(wcsnlen)
 wcspbrk
 wcsrchr
-F_ARM_ANY(wcsrtombs)
-wcsrtombs_s
 wcsspn
 wcsstr
 wcstod
 wcstok
-wcstok_s
 wcstol
 wcstombs
-wcstombs_s
 wcstoul
 wcsxfrm
-F_ARM_ANY(wctob)
 wctomb
-wctomb_s
 wprintf
-__ms_wprintf == wprintf
-wprintf_s
 wscanf
-__ms_wscanf == wscanf
-wscanf_s
+
+; These symbols were added in Microsoft Visual C++ 5.0 SP1 and Windows 98 
First Edition OS system versions of msvcrt.dll
+; They are not available in Microsoft Visual C++ 4.2, nor in 5.0 and neither 
in Windows NT 4.0 OS system version
+F_I386(__p__mbcasemap)
+_mbcasemap F_NON_I386(DATA)
+
+; These symbols were added in Microsoft Visual C++ 6.0 and Windows 98 Second 
Edition OS system versions of msvcrt.dll
+F_X86_ANY(__lc_collate_cp DATA)
+__unDNameEx
+F_I386(_chkesp)
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; This is end of the list of symbols available in the original Microsoft 
Visual C++ versions of msvcrt.dll ;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+
+; These symbols were added in Windows ME and Windows 2000 OS system versions 
of msvcrt.dll
+#ifdef DEF_I386
+; void *__cdecl operator new[](unsigned int)
+??_U@YAPAXI@Z
+; void __cdecl operator delete[](void *)
+??_V@YAXPAX@Z
+#endif
+_ctime64
+_findfirst64
+_findnext64
+_fstat64
+_ftime64
+_futime64
+_gmtime64
+_localtime64
+_mktime64
+F_X86_ANY(_osplatform DATA)
+_stat64
+_time64
+_utime64
+_wctime64
+_wfindfirst64
+_wfindnext64
+_wstat64
+_wutime64
+
+; These symbols were added in Windows 2000 SP4 OS system version of msvcrt.dll
+F_X86_ANY(_get_heap_handle) ; _get_heap_handle is not available in Windows XP 
and Windows XP SP1 OS system versions of msvcrt.dll, but is in XP SP3
+
+; These symbols were added in Windows XP OS system version of msvcrt.dll
+#ifdef DEF_I386
+; private: __thiscall bad_cast::bad_cast(char const *const *)
+??0bad_cast@@AAE@PBQBD@Z ; has WINAPI (@4)
+; public: __thiscall bad_cast::bad_cast(char const *)
+??0bad_cast@@QAE@PBD@Z ; has WINAPI (@4)
+; public: void __thiscall bad_cast::__dflt_ctor_closure(void)
+??_Fbad_cast@@QAEXXZ
+; public: void __thiscall bad_typeid::__dflt_ctor_closure(void)
+??_Fbad_typeid@@QAEXXZ
+#endif
+__uncaught_exception
+F_I386(__CxxCallUnwindDtor)
+F_I386(__CxxDetectRethrow)
+F_I386(__CxxExceptionFilter)
+F_I386(__CxxQueryExceptionSize)
+F_I386(__CxxRegisterExceptionObject)
+F_I386(__CxxUnregisterExceptionObject)
+__DestructExceptionObject
+F_NON_I386(___lc_codepage_func) ; i386 ___lc_codepage_func replaced by emu
+___lc_handle_func
+F_NON_I386(___mb_cur_max_func) ; i386 ___mb_cur_max_func replaced by emu
+F_X86_ANY(___setlc_active_func)
+F_X86_ANY(___unguarded_readlc_active_add_func)
+__crtCompareStringW
+__crtGetStringTypeW
+__crtLCMapStringW
+__iob_func
+__pctype_func
+__wcserror
+_aligned_free
+_aligned_malloc
+_aligned_offset_malloc
+_aligned_offset_realloc
+_aligned_realloc
+_cgetws
+_cputws
+_cwprintf
+_cwscanf
+_getwch
+_getwche
+_putwch
+_resetstkoflw
+F_NON_I386(_scprintf) ; i386 _scprintf replaced by emu
+_scwprintf
+F_I386(_set_SSE2_enable)
+_snscanf
+_snwscanf
+_strtoi64
+_strtoui64
+_ungetwch
+F_NON_I386(_vscprintf) ; i386 _vscprintf replaced by emu
+_vscwprintf
+_wcserror
+_wcstoi64
+_wcstoui64
+_wtof
+
+; These symbols were added in Windows Server 2003 OS system version of 
msvcrt.dll
+; They are not available in 32-bit Windows XP but are available in 32-bit 
Windows Vista
+F_I386(__CxxCallUnwindVecDtor)
+__CxxFrameHandler2
+___lc_collate_cp_func
+__pwctype_func
+F_NON_I386(_abs64) ; i386 _abs64 replaced by emu
+_mkgmtime
+_mkgmtime64
+F_NON_I386(_rotl64) ; i386 _rotl64 replaced by emu
+F_NON_I386(_rotr64) ; i386 _rotr64 replaced by emu
+_wctype
+
+; These symbols were added in Windows Server 2003 SP1 and Windows XP x64 OS 
system version of msvcrt.dll
+#ifdef DEF_I386
+; public: __thiscall exception::exception(char const *const &,int)
+??0exception@@QAE@ABQBDH@Z ; has WINAPI (@8)
+#endif
+F_NON_I386(__C_specific_handler)
+__CppXcptFilter
+F_NON_I386(_chgsignf)
+F_NON_I386(_copysignf)
+F_NON_I386(_finitef)
+F_X64(_fpclassf)
+F_NON_I386(_hypotf)
+F_X64(_isnanf)
+F_X64(_local_unwind)
+F_NON_I386(_logbf)
+F_X64(_nextafterf)
+F_X64(_scalbf)
+F_NON_I386(_setjmpex)
+F_NON_I386(acosf F_X86_ANY(DATA)) ; i386 acosf provided by emu
+F_NON_I386(asinf F_X86_ANY(DATA)) ; i386 asinf provided by emu
+F_NON_I386(atan2f F_X86_ANY(DATA)) ; i386 atan2f provided by emu
+F_NON_I386(atanf F_X86_ANY(DATA)) ; i386 atanf provided by emu
+F_NON_I386(ceilf F_X86_ANY(DATA)) ; i386 ceilf provided by emu
+F_NON_I386(cosf F_X86_ANY(DATA)) ; i386 cosf provided by emu
+F_NON_I386(coshf DATA) ; i386 coshf provided by emu
+F_NON_I386(expf F_X86_ANY(DATA)) ; i386 expf provided by emu
+F_NON_I386(floorf F_X86_ANY(DATA)) ; i386 floorf provided by emu
+F_NON_I386(fmodf F_X86_ANY(DATA)) ; i386 fmodf provided by emu
+F_NON_I386(log10f F_X86_ANY(DATA)) ; i386 log10f provided by emu
+F_NON_I386(logf F_X86_ANY(DATA)) ; i386 logf provided by emu
+F_NON_I386(modff DATA) ; i386 modff provided by emu
+F_NON_I386(powf DATA) ; i386 powf provided by emu
+F_NON_I386(setjmp)
+F_NON_I386(sinf F_X86_ANY(DATA)) ; i386 sinf provided by emu
+F_NON_I386(sinhf DATA) ; i386 sinhf provided by emu
+F_NON_I386(sqrtf DATA) ; i386 sqrtf provided by emu
+F_NON_I386(tanf F_X86_ANY(DATA)) ; i386 tanf provided by emu
+
+; These symbols were added in Windows Vista OS system version of msvcrt.dll
+#ifdef DEF_I386
+; void *__cdecl operator new(unsigned int,int,char const *,int)
+??2@YAPAXIHPBDH@Z
+; void *__cdecl operator new[](unsigned int,int,char const *,int)
+??_U@YAPAXIHPBDH@Z
+#endif
+#ifdef DEF_X64
+; private: __thiscall bad_cast::bad_cast(char const *const *)
+??0bad_cast@@AAE@PBQBD@Z
+; public: __thiscall bad_cast::bad_cast(char const *const &)
+??0bad_cast@@QAE@ABQBD@Z
+; void *__ptr64 __cdecl operator new(unsigned __int64,int,char const 
*__ptr64,int)
+??2@YAPEAX_KHPEBDH@Z
+; void *__ptr64 __cdecl operator new[](unsigned __int64,int,char const 
*__ptr64,int)
+??_U@YAPEAX_KHPEBDH@Z
+#endif
+_CrtCheckMemory
+_CrtDbgBreak
+_CrtDbgReport
+_CrtDbgReportV
+_CrtDbgReportW
+_CrtDbgReportWV
+_CrtDoForAllClientObjects
+_CrtDumpMemoryLeaks
+_CrtIsMemoryBlock
+_CrtIsValidHeapPointer
+_CrtIsValidPointer
+_CrtMemCheckpoint
+_CrtMemDifference
+_CrtMemDumpAllObjectsSince
+_CrtMemDumpStatistics
+_CrtReportBlockType
+_CrtSetAllocHook
+_CrtSetBreakAlloc
+_CrtSetDbgBlockType
+_CrtSetDbgFlag
+_CrtSetDumpClient
+_CrtSetReportFile
+_CrtSetReportHook
+_CrtSetReportHook2
+_CrtSetReportMode
+F_X86_ANY(__CxxCallUnwindDelDtor)
+__CxxFrameHandler3
+__daylight
+__dstbias
+#ifdef DEF_I386
+__libm_sse2_acos
+__libm_sse2_acosf
+__libm_sse2_asin
+__libm_sse2_asinf
+__libm_sse2_atan
+__libm_sse2_atan2
+__libm_sse2_atanf
+__libm_sse2_cos
+__libm_sse2_cosf
+__libm_sse2_exp
+__libm_sse2_expf
+__libm_sse2_log
+__libm_sse2_log10
+__libm_sse2_log10f
+__libm_sse2_logf
+__libm_sse2_pow
+__libm_sse2_powf
+__libm_sse2_sin
+__libm_sse2_sinf
+__libm_sse2_tan
+__libm_sse2_tanf
+#endif
+__strncnt
+__wcserror_s
+__wcsncnt
+; _access_s replaced by emu
+_aligned_free_dbg
+_aligned_malloc_dbg
+_aligned_offset_malloc_dbg
+_aligned_offset_realloc_dbg
+_aligned_realloc_dbg
+_atodbl_l
+_atof_l
+_atoflt_l
+_atoi64_l
+_atoi_l
+_atol_l
+_atoldbl_l
+_calloc_dbg
+; _cgets_s replaced by emu
+; _cgetws_s replaced by emu
+; _chsize_s replaced by emu
+_chvalidator
+_chvalidator_l
+; _controlfp_s replaced by emu
+_cprintf_l
+_cprintf_p
+_cprintf_p_l
+; _cprintf_s replaced by emu
+; _cprintf_s_l replaced by emu
+_crtAssertBusy
+_crtBreakAlloc
+_crtDbgFlag
+_cscanf_l
+_cscanf_s
+_cscanf_s_l
+; _ctime32 replaced by below aliases
+F_ARM_ANY(_ctime32)
+F_I386(_ctime32 == ctime)
+; _ctime32_s replaced by emu
+; _ctime64_s replaced by emu
+_cwprintf_l
+_cwprintf_p
+_cwprintf_p_l
+; _cwprintf_s replaced by emu
+; _cwprintf_s_l replaced by emu
+_cwscanf_l
+_cwscanf_s
+_cwscanf_s_l
+_difftime32 F_I386(== difftime) ; i386 _difftime32 replaced by alias
+_difftime64
+_ecvt_s
+F_I386(_except_handler4_common)
+_expand_dbg
+_fcvt_s
+_fprintf_l
+_fprintf_p
+_fprintf_p_l
+_fprintf_s_l
+_free_dbg
+_freea
+_freea_s
+_fscanf_l
+_fscanf_s_l
+_fseeki64
+_ftime32 F_I386(== _ftime) ; i386 _ftime32 replaced by alias
+_ftime32_s
+_ftime64_s
+F_I386(_ftol2)
+F_I386(_ftol2_sse)
+F_I386(_ftol2_sse_excpt)
+_fullpath_dbg
+_futime32 F_I386(== _futime) ; i386 _futime32 replaced by alias
+_fwprintf_l
+_fwprintf_p
+_fwprintf_p_l
+_fwprintf_s_l
+_fwscanf_l
+_fwscanf_s_l
+_gcvt_s
+_get_doserrno
+_get_environ
+_get_errno
+_get_fileinfo
+_get_fmode
+F_X86_ANY(_get_osplatform)
+F_X86_ANY(_get_osver)
+; _get_output_format replaced by emu
+_get_pgmptr
+_get_wenviron
+F_X86_ANY(_get_winmajor)
+F_X86_ANY(_get_winminor)
+F_X86_ANY(_get_winver)
+_get_wpgmptr
+_gmtime32 F_I386(== gmtime) ; i386 _gmtime32 replaced by alias
+; _gmtime32_s replaced by emu
+; _gmtime64_s replaced by emu
+_i64toa_s
+_i64tow_s
+_initterm_e
+_invalid_parameter
+_isalnum_l
+_isalpha_l
+_iscntrl_l
+_isctype_l
+_isdigit_l
+_isgraph_l
+_isleadbyte_l
+_islower_l
+_ismbbalnum_l
+_ismbbalpha_l
+_ismbbgraph_l
+_ismbbkalnum_l
+_ismbbkana_l
+_ismbbkprint_l
+_ismbbkpunct_l
+_ismbblead_l
+_ismbbprint_l
+_ismbbpunct_l
+_ismbbtrail_l
+_ismbcalnum_l
+_ismbcalpha_l
+_ismbcdigit_l
+_ismbcgraph_l
+_ismbchira_l
+_ismbckata_l
+_ismbcl0_l
+_ismbcl1_l
+_ismbcl2_l
+_ismbclegal_l
+_ismbclower_l
+_ismbcprint_l
+_ismbcpunct_l
+_ismbcspace_l
+_ismbcsymbol_l
+_ismbcupper_l
+_ismbslead_l
+_ismbstrail_l
+_isprint_l
+_isspace_l
+_isupper_l
+_iswalnum_l
+_iswalpha_l
+_iswcntrl_l
+_iswctype_l
+_iswdigit_l
+_iswgraph_l
+_iswlower_l
+_iswprint_l
+_iswpunct_l
+_iswspace_l
+_iswupper_l
+_iswxdigit_l
+_isxdigit_l
+_itoa_s
+_itow_s
+_lfind_s
+F_I386(_local_unwind4)
+_localtime32 F_I386(== localtime) ; i386 _localtime32 replaced by alias
+; _localtime32_s replaced by emu
+; _localtime64_s replaced by emu
+_lsearch_s
+_ltoa_s
+_ltow_s
+_makepath_s
+_malloc_dbg
+_mbbtombc_l
+_mbccpy_l
+_mbccpy_s
+_mbccpy_s_l
+_mbcjistojms_l
+_mbcjmstojis_l
+_mbclen_l
+_mbctohira_l
+_mbctokata_l
+_mbctolower_l
+_mbctombb_l
+_mbctoupper_l
+_mblen_l
+_mbsbtype_l
+_mbscat_s
+_mbscat_s_l
+_mbschr_l
+_mbscmp_l
+_mbscoll_l
+_mbscpy_s
+_mbscpy_s_l
+_mbscspn_l
+_mbsdec_l
+_mbsicmp_l
+_mbsicoll_l
+_mbsinc_l
+_mbslen_l
+_mbslwr_l
+_mbslwr_s
+_mbslwr_s_l
+_mbsnbcat_l
+_mbsnbcat_s
+_mbsnbcat_s_l
+_mbsnbcmp_l
+_mbsnbcnt_l
+_mbsnbcoll_l
+_mbsnbcpy_l
+_mbsnbcpy_s
+_mbsnbcpy_s_l
+_mbsnbicmp_l
+_mbsnbicoll_l
+_mbsnbset_l
+_mbsnbset_s
+_mbsnbset_s_l
+_mbsncat_l
+_mbsncat_s
+_mbsncat_s_l
+_mbsnccnt_l
+_mbsncmp_l
+_mbsncoll_l
+_mbsncpy_l
+_mbsncpy_s
+_mbsncpy_s_l
+_mbsnextc_l
+_mbsnicmp_l
+_mbsnicoll_l
+_mbsninc_l
+_mbsnlen_l
+_mbsnset_l
+_mbsnset_s
+_mbsnset_s_l
+_mbspbrk_l
+_mbsrchr_l
+_mbsrev_l
+_mbsset_l
+_mbsset_s
+_mbsset_s_l
+_mbsspn_l
+_mbsspnp_l
+_mbsstr_l
+_mbstok_l
+_mbstok_s
+_mbstok_s_l
+_mbstowcs_l
+_mbstowcs_s_l
+_mbstrlen_l
+_mbstrnlen_l
+_mbsupr_l
+_mbsupr_s
+_mbsupr_s_l
+_mbtowc_l
+_mbsnlen
+_mbstrnlen
+_memicmp_l
+_mkgmtime32
+; _mktemp_s replaced by emu
+; _mktime32 replaced by below aliases
+F_I386(_mktime32 == mktime)
+F_ARM_ANY(_mktime32)
+F_NON_I386(_msize_dbg)
+F_I386(_msize_debug)
+_printf_l
+_printf_p
+_printf_p_l
+_printf_s_l
+_putenv_s
+_realloc_dbg
+_scanf_l
+_scanf_s_l
+_scprintf_l
+_scprintf_p_l
+_scwprintf_l
+_scwprintf_p_l
+_searchenv_s
+F_I386(_seh_longjmp_unwind4@4)
+_set_controlfp
+_set_doserrno
+F_ARM_ANY(_set_errno) ; i386 and x64 _set_errno replaced by emu
+_set_fileinfo
+_set_fmode
+; _set_output_format replaced by emu
+_snprintf_c
+_snprintf_c_l
+_snprintf_l
+_snprintf_s
+_snprintf_s_l
+_snscanf_l
+_snscanf_s
+_snscanf_s_l
+_snwprintf_l
+_snwprintf_s
+_snwprintf_s_l
+_snwscanf_l
+_snwscanf_s
+_snwscanf_s_l
+; _sopen_s replaced by emu
+_splitpath_s
+_sprintf_l
+_sprintf_p_l
+_sprintf_s_l
+_sscanf_l
+_sscanf_s_l
+_strcoll_l
+; _strdate_s replaced by emu
+_strdup_dbg
+_strerror_s
+_stricmp_l
+_stricoll_l
+_strlwr_l
+_strlwr_s
+_strlwr_s_l
+_strncoll_l
+_strnicmp_l
+_strnicoll_l
+_strnset_s
+_strset_s
+; _strtime_s replaced by emu
+_strtod_l
+_strtoi64_l
+_strtol_l
+_strtoui64_l
+_strtoul_l
+_strupr_l
+_strupr_s
+_strupr_s_l
+_strxfrm_l
+_swprintf == swprintf ; replaced by alias to swprintf
+_swprintf_c
+_swprintf_c_l
+_swprintf_p_l
+_swprintf_s_l
+_swscanf_l
+_swscanf_s_l
+_tempnam_dbg
+; _time32 replaced by below aliases
+F_I386(_time32 == time)
+F_ARM_ANY(_time32)
+_tolower_l
+_toupper_l
+_towlower_l
+_towupper_l
+_ui64toa_s
+_ui64tow_s
+_ultoa_s
+_ultow_s
+; _umask_s replaced by emu
+_utime32 F_I386(== _utime) ; i386 _utime32 replaced by alias
+_vcprintf
+_vcprintf_l
+_vcprintf_p
+_vcprintf_p_l
+; _vcprintf_s replaced by emu
+; _vcprintf_s_l replaced by emu
+_vcwprintf
+_vcwprintf_l
+_vcwprintf_p
+_vcwprintf_p_l
+; _vcwprintf_s replaced by emu
+; _vcwprintf_s_l replaced by emu
+_vfprintf_l
+_vfprintf_p
+_vfprintf_p_l
+_vfprintf_s_l
+_vfwprintf_l
+_vfwprintf_p
+_vfwprintf_p_l
+_vfwprintf_s_l
+_vprintf_l
+_vprintf_p
+_vprintf_p_l
+_vprintf_s_l
+_vscprintf_l
+_vscprintf_p_l
+_vscwprintf_l
+_vscwprintf_p_l
+_vsnprintf_c
+_vsnprintf_c_l
+_vsnprintf_l
+_vsnprintf_s
+_vsnprintf_s_l
+_vsnwprintf_l
+_vsnwprintf_s
+_vsnwprintf_s_l
+_vsprintf_l
+_vsprintf_p
+_vsprintf_p_l
+_vsprintf_s_l
+_vswprintf F_I386(== vswprintf) ; i386 _vswprintf replaced by alias
+_vswprintf_c
+_vswprintf_c_l
+_vswprintf_l
+_vswprintf_p_l
+_vswprintf_s_l
+_vwprintf_l
+_vwprintf_p
+_vwprintf_p_l
+_vwprintf_s_l
+; _waccess_s replaced by emu
+; _wasctime_s replaced by emu
+F_NON_I386(_wassert) ; i386 _wassert replaced by emu
+_wcscoll_l
+_wcsdup_dbg
+_wcserror_s
+_wcsftime_l
+_wcsicmp_l
+_wcsicoll_l
+_wcslwr_l
+_wcslwr_s
+_wcslwr_s_l
+_wcsncoll_l
+_wcsnicmp_l
+_wcsnicoll_l
+_wcsnset_s
+_wcsset_s
+_wcstoi64_l
+_wcstol_l
+_wcstombs_l
+_wcstombs_s_l
+_wcstoui64_l
+_wcstoul_l
+_wcsupr_l
+_wcsupr_s
+_wcsupr_s_l
+_wcsxfrm_l
+; _wctime32 replaced by below aliases
+F_I386(_wctime32 == _wctime)
+F_ARM_ANY(_wctime32)
+; _wctime32_s replaced by emu
+; _wctime64_s replaced by emu
+_wctomb_l
+_wctomb_s_l
+_wfopen_s
+_wfreopen_s
+_wfullpath_dbg
+_wgetenv_s
+_winput_s
+_wmakepath_s
+; _wmktemp_s replaced by emu
+_woutput_s
+_wprintf_l
+_wprintf_p
+_wprintf_p_l
+_wprintf_s_l
+_wputenv_s
+_wscanf_l
+_wscanf_s_l
+_wsearchenv_s
+_wsopen_s
+_wsplitpath_s
+; _wstrdate_s replaced by emu
+; _wstrtime_s replaced by emu
+_wtempnam_dbg
+_wtmpnam_s
+_wtof_l
+_wtoi64_l
+_wtoi_l
+_wtol_l
+_wutime32 F_I386(== _wutime) ; i386 _wutime32 replaced by alias
+; asctime_s replaced by emu
+bsearch_s
+F_ARM_ANY(btowc) ; i386 and x64 btowc replaced by emu
+clearerr_s
+fopen_s
+fprintf_s
+freopen_s
+fscanf_s
+fwprintf_s
+fwscanf_s
+getenv_s
+F_ARM_ANY(mbrlen) ; i386 and x64 mbrlen replaced by emu
+F_ARM_ANY(mbrtowc) ; i386 and x64 mbrtowc replaced by emu
+mbsdup_dbg
+F_ARM_ANY(mbsrtowcs) ; i386 and x64 mbsrtowcs replaced by emu
+mbsrtowcs_s
+mbstowcs_s
+; memcpy_s replaced by emu
+; memmove_s replaced by emu
+printf_s
+qsort_s
+; rand_s replaced by emu
+scanf_s
+; sprintf_s replaced by emu
+sscanf_s
+strcat_s
+strcpy_s
+; strerror_s replaced by emu
+strncat_s
+strncpy_s
+; strnlen replaced by emu
+strtok_s
+swprintf_s
+swscanf_s
+F_ARM_ANY(tanhf) ; i386 tanhf provided by emu and x64 tanhf replaced by emu
+tmpfile_s
+tmpnam_s
+F_ARM_ANY(utime) ; i386 and x64 utime replaced by alias in msvcrt-common.def.in
+vfprintf_s
+vfwprintf_s
+vprintf_s
+; vsnprintf replaced by emu
+; vsprintf_s replaced by emu
+vswprintf_s
+vwprintf_s
+F_ARM_ANY(wcrtomb) ; i386 and x64 wcrtomb replaced by emu
+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) ; i386 and x64 wcsrtombs replaced by emu
+wcsrtombs_s
+wcstok_s
+wcstombs_s
+F_ARM_ANY(wctob) ; i386 and x64 wctob replaced by emu
+wctomb_s
+wprintf_s
+wscanf_s
+
+; These symbols were added in Windows 8 OS system version of msvcrt.dll
+F_ARM_ANY(_create_locale) ; i386 and x64 _create_locale replaced by emu
+F_ARM_ANY(_free_locale) ; i386 and x64 _free_locale replaced by emu
+F_ARM_ANY(_get_current_locale) ; i386 and x64 _get_current_locale replaced by 
emu
+_wcstod_l
+
+; These symbols were added in Windows 8.1 OS system version of msvcrt.dll
+F_I386(_CallMemberFunction0@8)
+F_ARM32(_CallMemberFunction0)
+F_I386(_CallMemberFunction1@12)
+F_ARM32(_CallMemberFunction1)
+F_I386(_CallMemberFunction2@16)
+F_ARM32(_CallMemberFunction2)
+__ExceptionPtrAssign
+__ExceptionPtrCompare
+__ExceptionPtrCopy
+__ExceptionPtrCopyException
+__ExceptionPtrCreate
+__ExceptionPtrCurrentException
+__ExceptionPtrDestroy
+__ExceptionPtrRethrow
+__ExceptionPtrSwap
+__ExceptionPtrToBool
+_W_Getdays
+_W_Getmonths
+_W_Gettnames
+_Wcsftime
+__AdjustPointer
+#ifdef DEF_I386
+_libm_sse2_acos_precise
+_libm_sse2_asin_precise
+_libm_sse2_atan_precise
+_libm_sse2_cos_precise
+_libm_sse2_exp_precise
+_libm_sse2_log10_precise
+_libm_sse2_log_precise
+_libm_sse2_pow_precise
+_libm_sse2_sin_precise
+_libm_sse2_sqrt_precise
+_libm_sse2_tan_precise
+#endif
+
+; These symbols were added in Windows 10 OS system version of msvcrt.dll
+; TODO: fill them
+
+; This is list of some symbols not available on X86 but are available in some 
ARM version of msvcrt.dll
+; TODO: move them to appropriate OS system version section (version in which 
they were introduced)
+F_ARM_ANY(_memcpy_strict_align)
+F_ARM_ANY(fabsf) ; i386 and x64 fabsf provided by emu
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; This is end of the list of symbols available in the Windows OS system 
versions of msvcrt.dll ;
+; All symbols defined below this line are not available in any version of 
msvcrt.dll library   ;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+
+; This is list of some symbols added in msvcr80.dll which can be defined as 
aliases to some msvcrt.dll symbols
+F32(_findfirst32 == _findfirst)
+F32(_findfirst32i64 == _findfirsti64)
+F64(_findfirst64i32 == _findfirst)
+F32(_findnext32 == _findnext)
+F32(_findnext32i64 == _findnexti64)
+F64(_findnext64i32 == _findnext)
+F32(_fstat32 == _fstat)
+F64(_fstat64i32 == _fstat)
+F32(_stat32 == _stat)
+F64(_stat64i32 == _stat)
+F32(_wfindfirst32 == _wfindfirst)
+F32(_wfindfirst32i64 == _wfindfirsti64)
+F64(_wfindfirst64i32 == _wfindfirst)
+F32(_wfindnext32 == _wfindnext)
+F32(_wfindnext32i64 == _wfindnexti64)
+F64(_wfindnext64i32 == _wfindnext)
+F32(_wstat32 == _wstat)
+F64(_wstat64i32 == _wstat)
+
+; This is list of some symbols added in msvcr120.dll which can be defined as 
aliases to some msvcrt.dll symbols
+_atoll_l == _atoi64_l
+_strtoimax_l == _strtoi64_l
+_strtoll_l == _strtoi64_l
+_strtoull_l == _strtoui64_l
+_strtoumax_l == _strtoui64_l
+atoll == _atoi64
+F_NON_I386(imaxabs == _abs64) ; i386 imaxabs alias provided by emu
+F_NON_I386(llabs == _abs64) ; i386 llabs alias provided by emu
+strtoimax == _strtoi64
+strtoll == _strtoi64
+strtoull == _strtoui64
+strtoumax == _strtoui64
+
+; This is list of internal symbol aliases for printf/scanf functions used by 
mingw
+__ms_fprintf == fprintf
+__ms_fscanf == fscanf
+__ms_fwprintf == fwprintf
+__ms_fwscanf == fwscanf
+__ms_printf == printf
+__ms_scanf == scanf
+__ms_sprintf == sprintf
+__ms_sscanf == sscanf
+__ms_swprintf == swprintf
+__ms_swscanf == swscanf
+__ms_vfprintf == vfprintf
+__ms_vfwprintf == vfwprintf
+__ms_vprintf == vprintf
+__ms_vsprintf == vsprintf
+__ms_vswprintf == vswprintf
+__ms_vwprintf == vwprintf
+__ms_wprintf == wprintf
+__ms_wscanf == wscanf
+
+; This is list of additional symbol aliases not available in any CRT library
+; FIXME: check if these really are needed
+F32(_ftime_s == _ftime32_s)
+F64(_ftime_s == _ftime64_s)
+snwprintf == _snwprintf
+vsnwprintf == _vsnwprintf
+
+; This is list of ARM long double symbols defined as alias to regular double 
symbols as on ARM, long double is equal to regular double
+F_ARM_ANY(acosl == acos)
+F_ARM_ANY(asinl == asin)
+F_ARM_ANY(atan2l == atan2)
+F_ARM_ANY(atanl == atan)
+F_ARM_ANY(ceill == ceil)
+F_ARM_ANY(cosl == cos)
+F_ARM_ANY(expl == exp)
+F_ARM_ANY(floorl == floor)
+F_ARM_ANY(fmodl == fmod)
+F_ARM_ANY(log10l == log10)
+F_ARM_ANY(logl == log)
+F_ARM_ANY(sinl == sin)
+F_ARM_ANY(tanl == tan)
-- 
2.20.1



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to