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

Reply via email to