This patch series cleanup setjmp.h header file which defines setjmp() and longjmp() macros, then it adds setjmp() support for crtdll.dll and msvcrt10.dll builds and fixes setjmpex.h support for all platforms.
I tested it on 32-bit and 64-bit x86 builds. ARM is not tested. Pali Rohár (10): headers: Fix declaration of i386 _setjmp3() function headers: Do not declare _setjmp3() function for non-i386 builds crt: Remove __intrinsic_setjmp symbol from arm64 ucrtapp's setjmp.S crt: Add __intrinsic_setjmpex symbol to arm32 ucrtapp's setjmp.S crt: Move amd64 setjmp and i386 _setjmp3 symbols definition to the top of the setjmp.S file crt: Add _setjmp and _setjmpex symbol aliases for UCRT builds headers: Remove redefinition of _setjmp via macro for UCRT builds crt: Allow to use C setjmp() with crtdll.dll and msvcrt10.dll builds headers: Fix setjmpex.h support headers: Fix i386 declaration of _setjmp in intrin.h mingw-w64-crt/def-include/crt-aliases.def.in | 19 ++++ .../api-ms-win-crt-private-l1-1-0.def.in | 2 + mingw-w64-crt/lib32/crtdll.def.in | 1 + mingw-w64-crt/lib32/msvcrt10.def.in | 1 + mingw-w64-crt/misc/setjmp.S | 31 ++++- mingw-w64-headers/crt/intrin.h | 3 +- mingw-w64-headers/crt/setjmp.h | 106 ++++++++++-------- mingw-w64-headers/crt/setjmpex.h | 16 +-- 8 files changed, 112 insertions(+), 67 deletions(-) -- 2.20.1 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public