setjmp.h wrong parameters to _setjmp3
Ignore my comment about setjmp() returning -1.
Sorry, but I cannot see any correlation between this report, and the content of our <setjmp.h> implementation, as can be seen here. Consequently, I am closing this, as it appears to be invalid in the MinGW.org context; (we do not support tha products of other projects, which illegally abuse our registered trademark).
According to https://docs.microsoft.com/en-us/cpp/c-runtime-library/setjmp3
The correct api is int _setjmp3(jmp_buf env, int count, ....) where count is the number of parameters that follow.
On 32-bit, as of e33afcd864a4e90a7b170585d802a3f85fbe7dfe, the setjmp.h that got generated, maps setjmp(buf) to _setjmp3(buf, NULL)
I don't know what issue this causes, but as setjmp (_setjmp3()) is returning -1, it might be an issue.
Also on the same page, _setjmp3 should not be used in a c++ context. The header setjmp does not prevent _setjmp3 for c++.
There's a define USE_NO_MINGW_SETJMP_TWO_ARGS, which controls the number of args to setjmp, but I don't know why yet.