All those inline functions were just simple function redirections.
Instead of them declare all of those functions via __MINGW_ASM_CALL macro
as direct symbol redirection.
---
 mingw-w64-headers/crt/sys/utime.h | 45 +++++++++----------------------
 1 file changed, 13 insertions(+), 32 deletions(-)

diff --git a/mingw-w64-headers/crt/sys/utime.h 
b/mingw-w64-headers/crt/sys/utime.h
index df0c701a00d5..7bb353ca03ed 100644
--- a/mingw-w64-headers/crt/sys/utime.h
+++ b/mingw-w64-headers/crt/sys/utime.h
@@ -91,43 +91,24 @@ extern "C" {
   _CRTIMP int __cdecl _wutime64(const wchar_t *_Filename,struct __utimbuf64 
*_Time);
 
 #ifndef RC_INVOKED
-int __cdecl _utime(const char *,struct _utimbuf *);
-int __cdecl _futime(int,struct _utimbuf *);
-int __cdecl _wutime(const wchar_t *,struct _utimbuf *);
-#ifndef __CRT__NO_INLINE
+
 #ifdef _USE_32BIT_TIME_T
-__CRT_INLINE int __cdecl _utime(const char *_Filename,struct _utimbuf 
*_Utimbuf) {
-  return _utime32(_Filename,(struct __utimbuf32 *)_Utimbuf);
-}
-__CRT_INLINE int __cdecl _futime(int _Desc,struct _utimbuf *_Utimbuf) {
-  return _futime32(_Desc,(struct __utimbuf32 *)_Utimbuf);
-}
-__CRT_INLINE int __cdecl _wutime(const wchar_t *_Filename,struct _utimbuf 
*_Utimbuf) {
-  return _wutime32(_Filename,(struct __utimbuf32 *)_Utimbuf);
-}
+  int __cdecl _utime(const char *_Filename,struct _utimbuf *_Utimbuf) 
__MINGW_ASM_CALL(_utime32);
+  int __cdecl _futime(int _Desc,struct _utimbuf *_Utimbuf) 
__MINGW_ASM_CALL(_futime32);
+  int __cdecl _wutime(const wchar_t *_Filename,struct _utimbuf *_Utimbuf) 
__MINGW_ASM_CALL(_wutime32);
 #else
-__CRT_INLINE int __cdecl _utime(const char *_Filename,struct _utimbuf 
*_Utimbuf) {
-  return _utime64(_Filename,(struct __utimbuf64 *)_Utimbuf);
-}
-__CRT_INLINE int __cdecl _futime(int _Desc,struct _utimbuf *_Utimbuf) {
-  return _futime64(_Desc,(struct __utimbuf64 *)_Utimbuf);
-}
-__CRT_INLINE int __cdecl _wutime(const wchar_t *_Filename,struct _utimbuf 
*_Utimbuf) {
-  return _wutime64(_Filename,(struct __utimbuf64 *)_Utimbuf);
-}
+  int __cdecl _utime(const char *_Filename,struct _utimbuf *_Utimbuf) 
__MINGW_ASM_CALL(_utime64);
+  int __cdecl _futime(int _Desc,struct _utimbuf *_Utimbuf) 
__MINGW_ASM_CALL(_futime64);
+  int __cdecl _wutime(const wchar_t *_Filename,struct _utimbuf *_Utimbuf) 
__MINGW_ASM_CALL(_wutime64);
 #endif
-#endif /* !__CRT__NO_INLINE */
-
 #ifndef        NO_OLDNAMES
-  int __cdecl utime(const char *, struct utimbuf *);
-#ifndef __CRT__NO_INLINE
-#ifndef _USE_32BIT_TIME_T
-__CRT_INLINE int __cdecl utime(const char *_Filename,struct utimbuf *_Utimbuf) 
{
-  return _utime64(_Filename,(struct __utimbuf64 *)_Utimbuf);
-}
-#endif /* !_USE_32BIT_TIME_T */
-#endif /* !__CRT__NO_INLINE */
+#ifdef _USE_32BIT_TIME_T
+  int __cdecl utime(const char *, struct utimbuf *) __MINGW_ASM_CALL(_utime32);
+#else
+  int __cdecl utime(const char *, struct utimbuf *) __MINGW_ASM_CALL(_utime64);
+#endif
 #endif
+
 #endif
 
 #ifdef __cplusplus
-- 
2.20.1



_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to