commit f80da0ba6f06bc3ce66852cd69d1eec5e748b0ef
parent a263d605ff680f52f5fa4c5b654732293fa264d6
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date: Fri, 22 Apr 2022 10:07:21 +0300
autoinit_funcs.h: added functions prototypes
Diffstat:
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/src/include/autoinit_funcs.h b/src/include/autoinit_funcs.h
@@ -67,7 +67,7 @@
* Current version of the header in packed BCD form.
* 0x01093001 = 1.9.30-1.
*/
-#define AUTOINIT_FUNCS_VERSION 0x01000200
+#define AUTOINIT_FUNCS_VERSION 0x01000300
#if defined(__GNUC__) || defined(__clang__)
/* if possible - check for supported attribute */
@@ -85,9 +85,11 @@
(defined(__SUNPRO_C) && __SUNPRO_C + 0 >= 0x5100)
#define GNUC_SET_INIT_AND_DEINIT(FI,FD) \
- void __attribute__ ((constructor)) _GNUC_init_helper_ ## FI (void) \
+ void __attribute__ ((constructor)) _GNUC_init_helper_ ## FI (void); \
+ void __attribute__ ((destructor)) _GNUC_deinit_helper_ ## FD (void); \
+ void __attribute__ ((constructor)) _GNUC_init_helper_ ## FI (void) \
{ (void) (FI) (); } \
- void __attribute__ ((destructor)) _GNUC_deinit_helper_ ## FD (void) \
+ void __attribute__ ((destructor)) _GNUC_deinit_helper_ ## FD (void) \
{ (void) (FD) (); } \
struct _GNUC_dummy_str_ ## FI {int i;}
@@ -204,9 +206,11 @@
#if ! defined(_USRDLL) || defined(AUTOINIT_FUNCS_FORCE_STATIC_REG)
#define W32_SET_INIT_AND_DEINIT(FI,FD) \
- void __cdecl _W32_deinit_helper_ ## FD (void) \
+ int __cdecl _W32_init_helper_ ## FI (void); \
+ void __cdecl _W32_deinit_helper_ ## FD (void); \
+ void __cdecl _W32_deinit_helper_ ## FD (void) \
{ (void) (FD) (); } \
- int __cdecl _W32_init_helper_ ## FI (void) \
+ int __cdecl _W32_init_helper_ ## FI (void) \
{ (void) (FI) (); atexit (_W32_deinit_helper_ ## FD); return 0; } \
W32_REGISTER_INIT (_W32_init_helper_ ## FI)
#else /* _USRDLL */
@@ -215,7 +219,8 @@
and rename DllMain to usr_DllMain */
#ifndef AUTOINIT_FUNCS_CALL_USR_DLLMAIN
#define W32_SET_INIT_AND_DEINIT(FI,FD) \
- BOOL WINAPI DllMain (HINSTANCE hinst,DWORD reason,LPVOID unused) \
+ BOOL WINAPI DllMain (HINSTANCE hinst,DWORD reason,LPVOID unused); \
+ BOOL WINAPI DllMain (HINSTANCE hinst,DWORD reason,LPVOID unused) \
{ if (DLL_PROCESS_ATTACH==reason) {(void) (FI) ();} \
else if (DLL_PROCESS_DETACH==reason) {(void) (FD) ();} \
return TRUE; \
@@ -223,7 +228,8 @@
#else /* AUTOINIT_FUNCS_CALL_USR_DLLMAIN */
#define W32_SET_INIT_AND_DEINIT(FI,FD) \
BOOL WINAPI usr_DllMain (HINSTANCE hinst,DWORD reason,LPVOID unused); \
- BOOL WINAPI DllMain (HINSTANCE hinst,DWORD reason,LPVOID unused) \
+ BOOL WINAPI DllMain (HINSTANCE hinst,DWORD reason,LPVOID unused); \
+ BOOL WINAPI DllMain (HINSTANCE hinst,DWORD reason,LPVOID unused) \
{ if (DLL_PROCESS_ATTACH==reason) {(void) (FI) ();} \
else if (DLL_PROCESS_DETACH==reason) {(void) (FD) ();} \
return usr_DllMain (hinst,reason,unused); \