Signed-off-by: Jacek Caban <ja...@codeweavers.com> --- mingw-w64-crt/Makefile.am | 2 +- mingw-w64-crt/lib-common/msvcrt.def.in | 4 +- mingw-w64-crt/lib32/msvcr100.def.in | 4 +- mingw-w64-crt/lib32/msvcr80.def.in | 2 + mingw-w64-crt/lib32/msvcr90.def.in | 4 +- mingw-w64-crt/lib64/msvcr100.def.in | 4 +- mingw-w64-crt/lib64/msvcr80.def.in | 2 + mingw-w64-crt/lib64/msvcr90.def.in | 4 +- mingw-w64-crt/misc/difftime.c | 21 ---------- mingw-w64-crt/misc/difftime32.c | 9 ----- mingw-w64-crt/misc/difftime64.c | 9 ----- mingw-w64-headers/crt/time.h | 55 +++++++++++--------------- 12 files changed, 37 insertions(+), 83 deletions(-) delete mode 100644 mingw-w64-crt/misc/difftime.c delete mode 100644 mingw-w64-crt/misc/difftime32.c delete mode 100644 mingw-w64-crt/misc/difftime64.c
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 689a17c7..a30c890e 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -317,7 +317,7 @@ src_libmingwex=\ misc/mingw_getsp.S \ misc/alarm.c \ misc/basename.c misc/btowc.c misc/delay-f.c misc/delay-n.c \ - misc/delayimp.c misc/difftime.c misc/difftime32.c misc/difftime64.c misc/dirent.c \ + misc/delayimp.c misc/dirent.c \ misc/dirname.c \ misc/feclearexcept.c misc/fegetenv.c misc/fegetexceptflag.c misc/fegetround.c misc/feholdexcept.c \ misc/feraiseexcept.c misc/fesetenv.c misc/fesetexceptflag.c misc/fesetround.c misc/fetestexcept.c \ diff --git a/mingw-w64-crt/lib-common/msvcrt.def.in b/mingw-w64-crt/lib-common/msvcrt.def.in index bc9c0c63..1c4f4089 100644 --- a/mingw-w64-crt/lib-common/msvcrt.def.in +++ b/mingw-w64-crt/lib-common/msvcrt.def.in @@ -456,8 +456,8 @@ _cwscanf_s _cwscanf_s_l _dstbias DATA F_ARM_ANY(_daylight DATA) -F_ARM_ANY(_difftime32) -F_ARM_ANY(_difftime64) +_difftime32 F_I386(== difftime) +_difftime64 _dup _dup2 _ecvt diff --git a/mingw-w64-crt/lib32/msvcr100.def.in b/mingw-w64-crt/lib32/msvcr100.def.in index e58937d4..8bc4f514 100644 --- a/mingw-w64-crt/lib32/msvcr100.def.in +++ b/mingw-w64-crt/lib32/msvcr100.def.in @@ -805,8 +805,8 @@ _cwscanf _cwscanf_l _cwscanf_s _cwscanf_s_l -_difftime32 DATA -_difftime64 DATA +_difftime32 +_difftime64 _dosmaperr _dstbias DATA _dup diff --git a/mingw-w64-crt/lib32/msvcr80.def.in b/mingw-w64-crt/lib32/msvcr80.def.in index 4914931d..c1092e83 100644 --- a/mingw-w64-crt/lib32/msvcr80.def.in +++ b/mingw-w64-crt/lib32/msvcr80.def.in @@ -141,6 +141,8 @@ _creat _cscanf _ctype DATA _cwait +_difftime32 +_difftime64 _dstbias DATA _dup _dup2 diff --git a/mingw-w64-crt/lib32/msvcr90.def.in b/mingw-w64-crt/lib32/msvcr90.def.in index 182ec506..ada4f638 100644 --- a/mingw-w64-crt/lib32/msvcr90.def.in +++ b/mingw-w64-crt/lib32/msvcr90.def.in @@ -431,8 +431,8 @@ _cwscanf_l _cwscanf_s _cwscanf_s_l _decode_pointer DATA -_difftime32 DATA -_difftime64 DATA +_difftime32 +_difftime64 _dosmaperr _dstbias DATA _dup diff --git a/mingw-w64-crt/lib64/msvcr100.def.in b/mingw-w64-crt/lib64/msvcr100.def.in index c081fea2..5faa3619 100644 --- a/mingw-w64-crt/lib64/msvcr100.def.in +++ b/mingw-w64-crt/lib64/msvcr100.def.in @@ -763,8 +763,8 @@ _cwscanf _cwscanf_l _cwscanf_s _cwscanf_s_l -_difftime32 DATA -_difftime64 DATA +_difftime32 +_difftime64 _dosmaperr _dstbias DATA _dup diff --git a/mingw-w64-crt/lib64/msvcr80.def.in b/mingw-w64-crt/lib64/msvcr80.def.in index 8b900603..6c6a5518 100644 --- a/mingw-w64-crt/lib64/msvcr80.def.in +++ b/mingw-w64-crt/lib64/msvcr80.def.in @@ -231,6 +231,8 @@ _ctype _cwait _cwprintf _cwscanf +_difftime32 +_difftime64 _dstbias DATA _dup _dup2 diff --git a/mingw-w64-crt/lib64/msvcr90.def.in b/mingw-w64-crt/lib64/msvcr90.def.in index 2ff5050b..14923195 100644 --- a/mingw-w64-crt/lib64/msvcr90.def.in +++ b/mingw-w64-crt/lib64/msvcr90.def.in @@ -379,8 +379,8 @@ _cwscanf_l _cwscanf_s _cwscanf_s_l _decode_pointer DATA -_difftime32 DATA -_difftime64 DATA +_difftime32 +_difftime64 _dosmaperr _dstbias DATA _dup diff --git a/mingw-w64-crt/misc/difftime.c b/mingw-w64-crt/misc/difftime.c deleted file mode 100644 index 5d49f529..00000000 --- a/mingw-w64-crt/misc/difftime.c +++ /dev/null @@ -1,21 +0,0 @@ -#define __CRT__NO_INLINE -#include <time.h> -#include <memory.h> - -/* FIXME: Relying on _USE_32BIT_TIME_T, which is a user-macro, -during CRT compilation is plainly broken. Need an appropriate -implementation to provide users the ability of compiling the -CRT only with 32-bit time_t behavior. */ - -#ifndef _USE_32BIT_TIME_T -double __cdecl difftime(time_t _Time1,time_t _Time2) -{ - return _difftime64(_Time1,_Time2); -} -#else -double __cdecl difftime(time_t _Time1,time_t _Time2) -{ - return _difftime32(_Time1,_Time2); -} -#endif - diff --git a/mingw-w64-crt/misc/difftime32.c b/mingw-w64-crt/misc/difftime32.c deleted file mode 100644 index b8939444..00000000 --- a/mingw-w64-crt/misc/difftime32.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <time.h> - -double __cdecl _difftime32(__time32_t _Time1,__time32_t _Time2) -{ - __time32_t r = _Time1 - _Time2; - if (r > _Time1) - return -((double) (_Time2 - _Time1)); - return (double) r; -} diff --git a/mingw-w64-crt/misc/difftime64.c b/mingw-w64-crt/misc/difftime64.c deleted file mode 100644 index 54f9a12a..00000000 --- a/mingw-w64-crt/misc/difftime64.c +++ /dev/null @@ -1,9 +0,0 @@ -#include <time.h> - -double __cdecl _difftime64(__time64_t _Time1,__time64_t _Time2) -{ - __time64_t r = _Time1 - _Time2; - if (r > _Time1) - return -((double) (_Time2 - _Time1)); - return (double) r; -} diff --git a/mingw-w64-headers/crt/time.h b/mingw-w64-headers/crt/time.h index f0a83797..02abd7b6 100644 --- a/mingw-w64-headers/crt/time.h +++ b/mingw-w64-headers/crt/time.h @@ -131,13 +131,13 @@ extern "C" { _CRTIMP errno_t __cdecl _get_tzname(size_t *_ReturnValue,char *_Buffer,size_t _SizeInBytes,int _Index); char *__cdecl asctime(const struct tm *_Tm) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; _SECIMP errno_t __cdecl asctime_s (char *_Buf,size_t _SizeInWords,const struct tm *_Tm); - char *__cdecl _ctime32(const __time32_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP char *__cdecl _ctime32(const __time32_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; _SECIMP errno_t __cdecl _ctime32_s (char *_Buf,size_t _SizeInBytes,const __time32_t *_Time); clock_t __cdecl clock(void); - double __cdecl _difftime32(__time32_t _Time1,__time32_t _Time2); - struct tm *__cdecl _gmtime32(const __time32_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP double __cdecl _difftime32(__time32_t _Time1,__time32_t _Time2); + _CRTIMP struct tm *__cdecl _gmtime32(const __time32_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; _SECIMP errno_t __cdecl _gmtime32_s (struct tm *_Tm,const __time32_t *_Time); - struct tm *__cdecl _localtime32(const __time32_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP struct tm *__cdecl _localtime32(const __time32_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; _SECIMP errno_t __cdecl _localtime32_s (struct tm *_Tm,const __time32_t *_Time); size_t __cdecl strftime(char * __restrict__ _Buf,size_t _SizeInBytes,const char * __restrict__ _Format,const struct tm * __restrict__ _Tm); _CRTIMP size_t __cdecl _strftime_l(char * __restrict__ _Buf,size_t _Max_size,const char * __restrict__ _Format,const struct tm * __restrict__ _Tm,_locale_t _Locale); @@ -145,9 +145,9 @@ extern "C" { _SECIMP errno_t __cdecl _strdate_s (char *_Buf,size_t _SizeInBytes); _CRTIMP char *__cdecl _strtime(char *_Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; _SECIMP errno_t __cdecl _strtime_s (char *_Buf ,size_t _SizeInBytes); - __time32_t __cdecl _time32(__time32_t *_Time); - __time32_t __cdecl _mktime32(struct tm *_Tm); - __time32_t __cdecl _mkgmtime32(struct tm *_Tm); + _CRTIMP __time32_t __cdecl _time32(__time32_t *_Time); + _CRTIMP __time32_t __cdecl _mktime32(struct tm *_Tm); + _CRTIMP __time32_t __cdecl _mkgmtime32(struct tm *_Tm); #if defined (_POSIX_) || defined(__GNUC__) void __cdecl tzset(void) __MINGW_ATTRIB_DEPRECATED_MSVC2005; @@ -159,7 +159,7 @@ extern "C" { void __cdecl _tzset(void); #endif - double __cdecl _difftime64(__time64_t _Time1,__time64_t _Time2); + _CRTIMP double __cdecl _difftime64(__time64_t _Time1,__time64_t _Time2); _CRTIMP char *__cdecl _ctime64(const __time64_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; _SECIMP errno_t __cdecl _ctime64_s (char *_Buf,size_t _SizeInBytes,const __time64_t *_Time); _CRTIMP struct tm *__cdecl _gmtime64(const __time64_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; @@ -215,39 +215,28 @@ extern "C" { #ifndef RC_INVOKED -#if __MSVCRT_VERSION__ >= 0x1400 -#define __TIME_INLINE __mingw_static_ovr -#else -#define __TIME_INLINE __CRT_INLINE -#endif -#if !defined(_USE_32BIT_TIME_T) -__TIME_INLINE double __cdecl difftime(time_t _Time1,time_t _Time2) - { return _difftime64(_Time1,_Time2); } -__TIME_INLINE char *__cdecl ctime(const time_t *_Time) { return _ctime64(_Time); } -__TIME_INLINE struct tm *__cdecl gmtime(const time_t *_Time) { return _gmtime64(_Time); } -__TIME_INLINE struct tm *__cdecl localtime(const time_t *_Time) { return _localtime64(_Time); } -__TIME_INLINE time_t __cdecl mktime(struct tm *_Tm) { return _mktime64(_Tm); } -__TIME_INLINE time_t __cdecl _mkgmtime(struct tm *_Tm) { return _mkgmtime64(_Tm); } -__TIME_INLINE time_t __cdecl time(time_t *_Time) { return _time64(_Time); } -#else -__TIME_INLINE double __cdecl difftime(time_t _Time1,time_t _Time2) - { return _difftime32(_Time1,_Time2); } -__TIME_INLINE char *__cdecl ctime(const time_t *_Time) { return _ctime32(_Time); } -__TIME_INLINE struct tm *__cdecl localtime(const time_t *_Time) { return _localtime32(_Time); } -__TIME_INLINE time_t __cdecl mktime(struct tm *_Tm) { return _mktime32(_Tm); } -__TIME_INLINE struct tm *__cdecl gmtime(const time_t *_Time) { return _gmtime32(_Time); } -__TIME_INLINE time_t __cdecl _mkgmtime(struct tm *_Tm) { return _mkgmtime32(_Tm); } -__TIME_INLINE time_t __cdecl time(time_t *_Time) { return _time32(_Time); } -#endif /* !_USE_32BIT_TIME_T */ - #ifdef _USE_32BIT_TIME_T +__forceinline time_t __cdecl time(time_t *_Time) { return _time32(_Time); } +__forceinline double __cdecl difftime(time_t _Time1,time_t _Time2) { return _difftime32(_Time1,_Time2); } +__forceinline struct tm *__cdecl localtime(const time_t *_Time) { return _localtime32(_Time); } __forceinline errno_t __cdecl localtime_s(struct tm *_Tm,const time_t *_Time) { return _localtime32_s(_Tm,_Time); } +__forceinline struct tm *__cdecl gmtime(const time_t *_Time) { return _gmtime32(_Time); } __forceinline errno_t __cdecl gmtime_s(struct tm *_Tm, const time_t *_Time) { return _gmtime32_s(_Tm, _Time); } +__forceinline char *__cdecl ctime(const time_t *_Time) { return _ctime32(_Time); } __forceinline errno_t __cdecl ctime_s(char *_Buf,size_t _SizeInBytes,const time_t *_Time) { return _ctime32_s(_Buf,_SizeInBytes,_Time); } +__forceinline time_t __cdecl mktime(struct tm *_Tm) { return _mktime32(_Tm); } +__forceinline time_t __cdecl _mkgmtime(struct tm *_Tm) { return _mkgmtime32(_Tm); } #else +__forceinline time_t __cdecl time(time_t *_Time) { return _time64(_Time); } +__forceinline double __cdecl difftime(time_t _Time1,time_t _Time2) { return _difftime64(_Time1,_Time2); } +__forceinline struct tm *__cdecl localtime(const time_t *_Time) { return _localtime64(_Time); } __forceinline errno_t __cdecl localtime_s(struct tm *_Tm,const time_t *_Time) { return _localtime64_s(_Tm,_Time); } +__forceinline struct tm *__cdecl gmtime(const time_t *_Time) { return _gmtime64(_Time); } __forceinline errno_t __cdecl gmtime_s(struct tm *_Tm, const time_t *_Time) { return _gmtime64_s(_Tm, _Time); } +__forceinline char *__cdecl ctime(const time_t *_Time) { return _ctime64(_Time); } __forceinline errno_t __cdecl ctime_s(char *_Buf,size_t _SizeInBytes,const time_t *_Time) { return _ctime64_s(_Buf,_SizeInBytes,_Time); } +__forceinline time_t __cdecl mktime(struct tm *_Tm) { return _mktime64(_Tm); } +__forceinline time_t __cdecl _mkgmtime(struct tm *_Tm) { return _mkgmtime64(_Tm); } #endif #endif /* !RC_INVOKED */
_______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public