Hi Eliot,
Shouldn't we use a conflict-less — |
I has hoping I could fix this in platforms/Cross/vm/sqSetjmpShim.h but so far I have not been able to. The issue is that mingw defines _setjmp, here's the definition that is used when clang is the compiler: 242 "/usr/x86_64-w64-mingw32/sys-root/mingw/include/setjmp.h" 3int attribute((cdecl)) attribute ((nothrow,returns_twice)) So I tried a sqSetjmpShim.h like this: #if !defined(_WIN32) undef setjmpundef longjmpdefine setjmp _setjmpdefine longjmp _longjmp#endif undef _setjmpdefine _setjmp _setjmp0#endif I know the code is being selected because if I preprocess via -E I see the declaration for _setjmp0. But the define of _setjmp is not seen and so invocations of _setjmp are not changed by the preprocessor into invocations of _setjmp0. Sigh... A reason to prefer redefine _setjmp itself rather than adding our own non-conflicting version is that if any library code included in a plugin uses setjmp/longjmp then the longjmp will likely fail unless it uses our code. The alternatives seem to be
setjmp: — |
In reply to this post by David T Lewis
Ah OK, what we can do is define our own I don't think that using The cygwin/mingw makefiles must also be fixed for using the .asm, currently they do not. — |
Free forum by Nabble | Edit this page |