Function __main() is function for executing gcc c++ constructors. Move it
into guarded code which prevents duplicate code execution, after executing
msvc c++ constructors (__xc_a-__xc_z callbacks).
---
 mingw-w64-crt/crt/crtexe.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mingw-w64-crt/crt/crtexe.c b/mingw-w64-crt/crt/crtexe.c
index 620f08b9467d..46e61fcecb94 100644
--- a/mingw-w64-crt/crt/crtexe.c
+++ b/mingw-w64-crt/crt/crtexe.c
@@ -208,6 +208,7 @@ __tmainCRTStartup (void)
          _amsg_exit (8); /* _RT_SPACEARG */
 
        _initterm (__xc_a, __xc_z);
+       __main (); /* C++ initialization. */
 
        __native_startup_state = __initialized;
       }
@@ -229,7 +230,6 @@ __tmainCRTStartup (void)
     _fpreset ();
 
     duplicate_ppstrings (argc, &argv);
-    __main (); /* C++ initialization. */
 #ifdef _UNICODE
     __winitenv = envp;
 #else
-- 
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