Re: [Mingw-w64-public] What is the purpose of intrin.h?
On 07/02/13 01:48, dw wrote: I may apply the patch and let my cron jobs run it through Mozilla sources over night if you like. In the past, those caught quite a few problems with intrin.h. That would be great. I've spent a bit more time on in today, and will probably give it a final look in a few hours. The only thing I've changed so far is comments. In case you hadn't noticed, I'm a big believer in comments. I'm not sure when over night is where you are, but if you get the chance, this would be helpful. Done, the compilation went well. Cheers, Jacek -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH v2] ___lc_codepage_func: use correct name and use emul only for 32bits msvcrt
based on a patch by Jacek --- mingw-w64-crt/lib32/msvcrt.def.in | 2 +- mingw-w64-crt/misc/btowc.c | 2 +- mingw-w64-crt/misc/lc_locale_func.c | 8 mingw-w64-crt/misc/mb_wc_common.h | 2 +- mingw-w64-crt/misc/mbrtowc.c| 6 +++--- mingw-w64-crt/misc/wcrtomb.c| 4 ++-- mingw-w64-crt/misc/wcstof.c | 2 +- mingw-w64-crt/misc/wcstold.c| 2 +- mingw-w64-crt/misc/wctob.c | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/mingw-w64-crt/lib32/msvcrt.def.in b/mingw-w64-crt/lib32/msvcrt.def.in index ff352f1..ad8ec29 100644 --- a/mingw-w64-crt/lib32/msvcrt.def.in +++ b/mingw-w64-crt/lib32/msvcrt.def.in @@ -797,7 +797,7 @@ _wcstoi64 _wcstoui64 _wctype _wtof -___lc_codepage_func +___lc_codepage_func DATA ; provided by emu ___lc_collate_cp_func ___lc_handle_func ___mb_cur_max_func diff --git a/mingw-w64-crt/misc/btowc.c b/mingw-w64-crt/misc/btowc.c index aaabc0c..026b491 100644 --- a/mingw-w64-crt/misc/btowc.c +++ b/mingw-w64-crt/misc/btowc.c @@ -19,7 +19,7 @@ wint_t btowc (int c) { unsigned char ch = c; wchar_t wc = WEOF; - MultiByteToWideChar (__lc_codepage_func(), MB_ERR_INVALID_CHARS, + MultiByteToWideChar (___lc_codepage_func(), MB_ERR_INVALID_CHARS, (char*)ch, 1, wc, 1); return wc; } diff --git a/mingw-w64-crt/misc/lc_locale_func.c b/mingw-w64-crt/misc/lc_locale_func.c index 4e0fd02..3aebcdc 100644 --- a/mingw-w64-crt/misc/lc_locale_func.c +++ b/mingw-w64-crt/misc/lc_locale_func.c @@ -6,7 +6,7 @@ #include mb_wc_common.h static unsigned int *msvcrt__lc_codepage; -static unsigned int __cdecl msvcrt__lc_codepage_func(void) +static unsigned int __cdecl msvcrt___lc_codepage_func(void) { return *msvcrt__lc_codepage; } @@ -19,7 +19,7 @@ static unsigned int __cdecl setlocale_codepage_hack(void) } static unsigned int __cdecl init_codepage_func(void); -unsigned int (__cdecl *__MINGW_IMP_SYMBOL(__lc_codepage_func))(void) = init_codepage_func; +unsigned int (__cdecl *__MINGW_IMP_SYMBOL(___lc_codepage_func))(void) = init_codepage_func; static unsigned int __cdecl init_codepage_func(void) { @@ -31,12 +31,12 @@ static unsigned int __cdecl init_codepage_func(void) if(!func) { msvcrt__lc_codepage = (unsigned int*)GetProcAddress(msvcrt, __lc_codepage); if(msvcrt__lc_codepage) -func = msvcrt__lc_codepage_func; +func = msvcrt___lc_codepage_func; } } if(!func) func = setlocale_codepage_hack; -return (__MINGW_IMP_SYMBOL(__lc_codepage_func) = func)(); +return (__MINGW_IMP_SYMBOL(___lc_codepage_func) = func)(); } diff --git a/mingw-w64-crt/misc/mb_wc_common.h b/mingw-w64-crt/misc/mb_wc_common.h index c95243b..5a40013 100644 --- a/mingw-w64-crt/misc/mb_wc_common.h +++ b/mingw-w64-crt/misc/mb_wc_common.h @@ -6,4 +6,4 @@ #include _mingw.h -_CRTIMP unsigned int __cdecl __lc_codepage_func(void); +_CRTIMP unsigned int __cdecl ___lc_codepage_func(void); diff --git a/mingw-w64-crt/misc/mbrtowc.c b/mingw-w64-crt/misc/mbrtowc.c index df4d318..5cd106e 100644 --- a/mingw-w64-crt/misc/mbrtowc.c +++ b/mingw-w64-crt/misc/mbrtowc.c @@ -101,7 +101,7 @@ mbrtowc (wchar_t * __restrict__ pwc, const char * __restrict__ s, wchar_t* dst = pwc ? pwc : byte_bucket; return (size_t) __mbrtowc_cp (dst, s, n, ps ? ps : internal_mbstate, - __lc_codepage_func(), MB_CUR_MAX); + ___lc_codepage_func(), MB_CUR_MAX); } @@ -113,7 +113,7 @@ mbsrtowcs (wchar_t* __restrict__ dst, const char ** __restrict__ src, size_t n = 0; static mbstate_t internal_mbstate = 0; mbstate_t* internal_ps = ps ? ps : internal_mbstate; - const unsigned int cp = __lc_codepage_func(); + const unsigned int cp = ___lc_codepage_func(); const unsigned int mb_max = MB_CUR_MAX; if (src == NULL || *src == NULL) /* undefined behavior */ @@ -156,5 +156,5 @@ mbrlen (const char * __restrict__ s, size_t n, static mbstate_t s_mbstate = 0; wchar_t byte_bucket = 0; return __mbrtowc_cp (byte_bucket, s, n, (ps) ? ps : s_mbstate, - __lc_codepage_func(), MB_CUR_MAX); + ___lc_codepage_func(), MB_CUR_MAX); } diff --git a/mingw-w64-crt/misc/wcrtomb.c b/mingw-w64-crt/misc/wcrtomb.c index aae58ea..299f67b 100644 --- a/mingw-w64-crt/misc/wcrtomb.c +++ b/mingw-w64-crt/misc/wcrtomb.c @@ -49,7 +49,7 @@ wcrtomb (char *dst, wchar_t wc, mbstate_t * __UNUSED_PARAM (ps)) { char byte_bucket [MB_LEN_MAX]; char* tmp_dst = dst ? dst : byte_bucket[0]; - return (size_t)__wcrtomb_cp (tmp_dst, wc, __lc_codepage_func(), + return (size_t)__wcrtomb_cp (tmp_dst, wc, ___lc_codepage_func(), MB_CUR_MAX); } @@ -58,7 +58,7 @@ size_t wcsrtombs (char *dst, const wchar_t **src, size_t len, { int ret = 0; size_t n = 0; - const unsigned int cp =
[Mingw-w64-public] [PATCH v3] ___lc_codepage_func: use correct name and link emul only for 32bits msvcrt
based on a patch by Jacek --- mingw-w64-crt/Makefile.am | 6 -- mingw-w64-crt/lib32/msvcrt.def.in | 2 +- mingw-w64-crt/misc/btowc.c | 2 +- mingw-w64-crt/misc/lc_locale_func.c | 8 mingw-w64-crt/misc/mb_wc_common.h | 2 +- mingw-w64-crt/misc/mbrtowc.c| 6 +++--- mingw-w64-crt/misc/wcrtomb.c| 4 ++-- mingw-w64-crt/misc/wcstof.c | 2 +- mingw-w64-crt/misc/wcstold.c| 2 +- mingw-w64-crt/misc/wctob.c | 2 +- 10 files changed, 19 insertions(+), 17 deletions(-) diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index d9cd436..82b478f 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -119,7 +119,6 @@ src_libws2_32=libsrc/ws2_32.c \ src_msvcrt=\ misc/invalid_parameter_handler.c \ - misc/lc_locale_func.c \ misc/output_format.c \ secapi/_access_s.c \ secapi/_cgets_s.c \ @@ -156,6 +155,9 @@ src_msvcrt=\ secapi/vsprintf_s.c \ secapi/wmemcpy_s.c +src_msvcrt32= + $(src_msvcrt) \ + misc/lc_locale_func.c src_libmingwex=\ crt/dllentry.ccrt/dllmain.c \ @@ -343,7 +345,7 @@ lib32_libkernel32_a_AR = $(DTLIB32) $(AR) $(ARFLAGS) lib32_libkernel32_a_CPPFLAGS=$(CPPFLAGS32) $(extra_include) $(AM_CPPFLAGS) lib32_LIBRARIES += lib32/libmsvcrt.a -lib32_libmsvcrt_a_SOURCES = $(src_msvcrt) lib32/msvcrt.def.in +lib32_libmsvcrt_a_SOURCES = $(src_msvcrt32) lib32/msvcrt.def.in lib32_libmsvcrt_a_AR = $(DTDEF32) lib32/msvcrt.def $(AR) $(ARFLAGS) lib32_libmsvcrt_a_CPPFLAGS=$(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes) EXTRA_lib32_libmsvcrt_a_DEPENDENCIES=lib32/msvcrt.def diff --git a/mingw-w64-crt/lib32/msvcrt.def.in b/mingw-w64-crt/lib32/msvcrt.def.in index ff352f1..ad8ec29 100644 --- a/mingw-w64-crt/lib32/msvcrt.def.in +++ b/mingw-w64-crt/lib32/msvcrt.def.in @@ -797,7 +797,7 @@ _wcstoi64 _wcstoui64 _wctype _wtof -___lc_codepage_func +___lc_codepage_func DATA ; provided by emu ___lc_collate_cp_func ___lc_handle_func ___mb_cur_max_func diff --git a/mingw-w64-crt/misc/btowc.c b/mingw-w64-crt/misc/btowc.c index aaabc0c..026b491 100644 --- a/mingw-w64-crt/misc/btowc.c +++ b/mingw-w64-crt/misc/btowc.c @@ -19,7 +19,7 @@ wint_t btowc (int c) { unsigned char ch = c; wchar_t wc = WEOF; - MultiByteToWideChar (__lc_codepage_func(), MB_ERR_INVALID_CHARS, + MultiByteToWideChar (___lc_codepage_func(), MB_ERR_INVALID_CHARS, (char*)ch, 1, wc, 1); return wc; } diff --git a/mingw-w64-crt/misc/lc_locale_func.c b/mingw-w64-crt/misc/lc_locale_func.c index 4e0fd02..3aebcdc 100644 --- a/mingw-w64-crt/misc/lc_locale_func.c +++ b/mingw-w64-crt/misc/lc_locale_func.c @@ -6,7 +6,7 @@ #include mb_wc_common.h static unsigned int *msvcrt__lc_codepage; -static unsigned int __cdecl msvcrt__lc_codepage_func(void) +static unsigned int __cdecl msvcrt___lc_codepage_func(void) { return *msvcrt__lc_codepage; } @@ -19,7 +19,7 @@ static unsigned int __cdecl setlocale_codepage_hack(void) } static unsigned int __cdecl init_codepage_func(void); -unsigned int (__cdecl *__MINGW_IMP_SYMBOL(__lc_codepage_func))(void) = init_codepage_func; +unsigned int (__cdecl *__MINGW_IMP_SYMBOL(___lc_codepage_func))(void) = init_codepage_func; static unsigned int __cdecl init_codepage_func(void) { @@ -31,12 +31,12 @@ static unsigned int __cdecl init_codepage_func(void) if(!func) { msvcrt__lc_codepage = (unsigned int*)GetProcAddress(msvcrt, __lc_codepage); if(msvcrt__lc_codepage) -func = msvcrt__lc_codepage_func; +func = msvcrt___lc_codepage_func; } } if(!func) func = setlocale_codepage_hack; -return (__MINGW_IMP_SYMBOL(__lc_codepage_func) = func)(); +return (__MINGW_IMP_SYMBOL(___lc_codepage_func) = func)(); } diff --git a/mingw-w64-crt/misc/mb_wc_common.h b/mingw-w64-crt/misc/mb_wc_common.h index c95243b..5a40013 100644 --- a/mingw-w64-crt/misc/mb_wc_common.h +++ b/mingw-w64-crt/misc/mb_wc_common.h @@ -6,4 +6,4 @@ #include _mingw.h -_CRTIMP unsigned int __cdecl __lc_codepage_func(void); +_CRTIMP unsigned int __cdecl ___lc_codepage_func(void); diff --git a/mingw-w64-crt/misc/mbrtowc.c b/mingw-w64-crt/misc/mbrtowc.c index df4d318..5cd106e 100644 --- a/mingw-w64-crt/misc/mbrtowc.c +++ b/mingw-w64-crt/misc/mbrtowc.c @@ -101,7 +101,7 @@ mbrtowc (wchar_t * __restrict__ pwc, const char * __restrict__ s, wchar_t* dst = pwc ? pwc : byte_bucket; return (size_t) __mbrtowc_cp (dst, s, n, ps ? ps : internal_mbstate, - __lc_codepage_func(), MB_CUR_MAX); + ___lc_codepage_func(), MB_CUR_MAX); } @@ -113,7 +113,7 @@ mbsrtowcs (wchar_t* __restrict__ dst, const char ** __restrict__ src, size_t n = 0; static mbstate_t internal_mbstate = 0; mbstate_t* internal_ps = ps ? ps : internal_mbstate; - const unsigned int cp = __lc_codepage_func(); + const
Re: [Mingw-w64-public] [PATCH v3] ___lc_codepage_func: use correct name and link emul only for 32bits msvcrt
Patch is ok. Thanks, Kai 2013/7/2 Rafaël Carré fun...@videolan.org: based on a patch by Jacek --- mingw-w64-crt/Makefile.am | 6 -- mingw-w64-crt/lib32/msvcrt.def.in | 2 +- mingw-w64-crt/misc/btowc.c | 2 +- mingw-w64-crt/misc/lc_locale_func.c | 8 mingw-w64-crt/misc/mb_wc_common.h | 2 +- mingw-w64-crt/misc/mbrtowc.c| 6 +++--- mingw-w64-crt/misc/wcrtomb.c| 4 ++-- mingw-w64-crt/misc/wcstof.c | 2 +- mingw-w64-crt/misc/wcstold.c| 2 +- mingw-w64-crt/misc/wctob.c | 2 +- 10 files changed, 19 insertions(+), 17 deletions(-) diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index d9cd436..82b478f 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -119,7 +119,6 @@ src_libws2_32=libsrc/ws2_32.c \ src_msvcrt=\ misc/invalid_parameter_handler.c \ - misc/lc_locale_func.c \ misc/output_format.c \ secapi/_access_s.c \ secapi/_cgets_s.c \ @@ -156,6 +155,9 @@ src_msvcrt=\ secapi/vsprintf_s.c \ secapi/wmemcpy_s.c +src_msvcrt32= + $(src_msvcrt) \ + misc/lc_locale_func.c src_libmingwex=\ crt/dllentry.ccrt/dllmain.c \ @@ -343,7 +345,7 @@ lib32_libkernel32_a_AR = $(DTLIB32) $(AR) $(ARFLAGS) lib32_libkernel32_a_CPPFLAGS=$(CPPFLAGS32) $(extra_include) $(AM_CPPFLAGS) lib32_LIBRARIES += lib32/libmsvcrt.a -lib32_libmsvcrt_a_SOURCES = $(src_msvcrt) lib32/msvcrt.def.in +lib32_libmsvcrt_a_SOURCES = $(src_msvcrt32) lib32/msvcrt.def.in lib32_libmsvcrt_a_AR = $(DTDEF32) lib32/msvcrt.def $(AR) $(ARFLAGS) lib32_libmsvcrt_a_CPPFLAGS=$(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes) EXTRA_lib32_libmsvcrt_a_DEPENDENCIES=lib32/msvcrt.def diff --git a/mingw-w64-crt/lib32/msvcrt.def.in b/mingw-w64-crt/lib32/msvcrt.def.in index ff352f1..ad8ec29 100644 --- a/mingw-w64-crt/lib32/msvcrt.def.in +++ b/mingw-w64-crt/lib32/msvcrt.def.in @@ -797,7 +797,7 @@ _wcstoi64 _wcstoui64 _wctype _wtof -___lc_codepage_func +___lc_codepage_func DATA ; provided by emu ___lc_collate_cp_func ___lc_handle_func ___mb_cur_max_func diff --git a/mingw-w64-crt/misc/btowc.c b/mingw-w64-crt/misc/btowc.c index aaabc0c..026b491 100644 --- a/mingw-w64-crt/misc/btowc.c +++ b/mingw-w64-crt/misc/btowc.c @@ -19,7 +19,7 @@ wint_t btowc (int c) { unsigned char ch = c; wchar_t wc = WEOF; - MultiByteToWideChar (__lc_codepage_func(), MB_ERR_INVALID_CHARS, + MultiByteToWideChar (___lc_codepage_func(), MB_ERR_INVALID_CHARS, (char*)ch, 1, wc, 1); return wc; } diff --git a/mingw-w64-crt/misc/lc_locale_func.c b/mingw-w64-crt/misc/lc_locale_func.c index 4e0fd02..3aebcdc 100644 --- a/mingw-w64-crt/misc/lc_locale_func.c +++ b/mingw-w64-crt/misc/lc_locale_func.c @@ -6,7 +6,7 @@ #include mb_wc_common.h static unsigned int *msvcrt__lc_codepage; -static unsigned int __cdecl msvcrt__lc_codepage_func(void) +static unsigned int __cdecl msvcrt___lc_codepage_func(void) { return *msvcrt__lc_codepage; } @@ -19,7 +19,7 @@ static unsigned int __cdecl setlocale_codepage_hack(void) } static unsigned int __cdecl init_codepage_func(void); -unsigned int (__cdecl *__MINGW_IMP_SYMBOL(__lc_codepage_func))(void) = init_codepage_func; +unsigned int (__cdecl *__MINGW_IMP_SYMBOL(___lc_codepage_func))(void) = init_codepage_func; static unsigned int __cdecl init_codepage_func(void) { @@ -31,12 +31,12 @@ static unsigned int __cdecl init_codepage_func(void) if(!func) { msvcrt__lc_codepage = (unsigned int*)GetProcAddress(msvcrt, __lc_codepage); if(msvcrt__lc_codepage) -func = msvcrt__lc_codepage_func; +func = msvcrt___lc_codepage_func; } } if(!func) func = setlocale_codepage_hack; -return (__MINGW_IMP_SYMBOL(__lc_codepage_func) = func)(); +return (__MINGW_IMP_SYMBOL(___lc_codepage_func) = func)(); } diff --git a/mingw-w64-crt/misc/mb_wc_common.h b/mingw-w64-crt/misc/mb_wc_common.h index c95243b..5a40013 100644 --- a/mingw-w64-crt/misc/mb_wc_common.h +++ b/mingw-w64-crt/misc/mb_wc_common.h @@ -6,4 +6,4 @@ #include _mingw.h -_CRTIMP unsigned int __cdecl __lc_codepage_func(void); +_CRTIMP unsigned int __cdecl ___lc_codepage_func(void); diff --git a/mingw-w64-crt/misc/mbrtowc.c b/mingw-w64-crt/misc/mbrtowc.c index df4d318..5cd106e 100644 --- a/mingw-w64-crt/misc/mbrtowc.c +++ b/mingw-w64-crt/misc/mbrtowc.c @@ -101,7 +101,7 @@ mbrtowc (wchar_t * __restrict__ pwc, const char * __restrict__ s, wchar_t* dst = pwc ? pwc : byte_bucket; return (size_t) __mbrtowc_cp (dst, s, n, ps ? ps : internal_mbstate, - __lc_codepage_func(), MB_CUR_MAX); + ___lc_codepage_func(), MB_CUR_MAX); } @@ -113,7 +113,7 @@ mbsrtowcs (wchar_t* __restrict__ dst, const char **
Re: [Mingw-w64-public] OpenGL headers
On 01.07.2013 16:02, LRN wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 mingw-w64 should supply GL headers from [1]. Specifically - GL/glext.h Pardon my french, but why should mingw-w64 supply them? -- chs -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] OpenGL headers
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 03.07.2013 00:43, Christer Solskogen wrote: On 01.07.2013 16:02, LRN wrote: mingw-w64 should supply GL headers from [1]. Specifically - GL/glext.h Pardon my french, but why should mingw-w64 supply them? Good question. A) Because MinGW.org supplies them B) Because MinGW-W64 supplies other GL headers already. Those are not sufficient for all uses, however. C) Because MinGW-W64 supplies a DirectX SDK. Why not OpenGL then? - -- O ascii ribbon - stop html email! - www.asciiribbon.org -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (MingW32) iQEcBAEBAgAGBQJR01toAAoJEOs4Jb6SI2Cw5lgIAIBeRjFts6dAo4ZP6JJ6H7rZ ATzyYnZ6eoEmfcd8PMx/OOaHuUqhqNnXpawMdbrOc/q8XXRIiPS7Pl5mnoCm1iuD j2RFEeTJczo326Oy3FC49WfBCHwdcWMy3Sh1fxD+6ngx5mjkU0BRrBnyVohwzGnw aX9Lw+fU/9WGOOcQa40jRPJQ3XIA3VQ9AQlK/4ZShZ9r9aIW0g5Jj/UzVqCF4txu dh1+l0t/dnfyprOlpPwOU2VO16WF/UGoyJ9V/wUHduQ1ZKwqlX6u2r/lUVxDSVFm jMoRgGr5V1ELnGQefIk/5uH8jHr5oLWJMt55BzbvPSjwacco1xAq74PEArnQPd0= =4Isv -END PGP SIGNATURE- -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] MinGW-w64 (64-bit/POSIX/SEH) Based on GCC 4.8.0 Regression with -O3 flag (Spotted on QtCore 4.8.5)
Hello, The problem is as follows. Building Qt 4.8.5 with x64-4.8.0-release-posix-seh-rev2 http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.0/64-bit/threads-posix/seh/x64-4.8.0-release-posix-seh-rev2.7z/download (from the MinGW-builds project) distribution and supplying -O3 optimization flag results in QtCore4.dll crashing very frequently (almost always). Rebuilding QtCore4.dll with -O2 optimization flag immediately solves the issue. Of course the debug variant QtCored4.dll works just fine (as only -g is supplied). Please, look into it. In particular, does the issue show up for the newest 4.8.1 releases? If not, then I guess we shouldn't worry much as it is fixed, otherwise it should definitely be investigated. Currently, I haven't time to try 4.8.1 out myself. Why do I consider it as regression? Obviously because it was not the case with MinGW-w64 based on GCC 4.7.1. Kind regards, Haroogan -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] MinGW-w64 (64-bit/POSIX/SEH) Based on GCC 4.8.0 Regression with -O3 flag (Spotted on QtCore 4.8.5)
This is known problem. See https://bugreports.qt-project.org/browse/QTBUG-29099. It for Qt5 but for Qt4 is the same. You can't now use -O3 with mingw toolchains based on gcc-4.7.3+. Regards, Alexey. 2013/7/3 Haroogan haroo...@gmail.com: Hello, The problem is as follows. Building Qt 4.8.5 with x64-4.8.0-release-posix-seh-rev2 (from the MinGW-builds project) distribution and supplying -O3 optimization flag results in QtCore4.dll crashing very frequently (almost always). Rebuilding QtCore4.dll with -O2 optimization flag immediately solves the issue. Of course the debug variant QtCored4.dll works just fine (as only -g is supplied). Please, look into it. In particular, does the issue show up for the newest 4.8.1 releases? If not, then I guess we shouldn't worry much as it is fixed, otherwise it should definitely be investigated. Currently, I haven't time to try 4.8.1 out myself. Why do I consider it as regression? Obviously because it was not the case with MinGW-w64 based on GCC 4.7.1. Kind regards, Haroogan -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public