[llvm-dev] [LLVM 10][Windows/MSVC] llvm.eh.sjlj.setjmp does not lower to _setjmp() call any more
Alexander Mitin via llvm-dev
llvm-dev at lists.llvm.org
Fri May 8 14:34:13 PDT 2020
Hello,
In our project we use llvm.eh.sjlj.setjmp intrinsic to establish a
recovering chain which implies that it's 'longjmp' counterpart would
be called from a C code, so it uses a runtime implementation of
longjmp().
For LLVM 7 llvm.eh.sjlj.setjmp lowers to a call to Windows CRT
function _setjmp(). After migrating to LLVM 10 we've found that it's
no longer true.
Is it done intentionally? If yes, why? The doc for llvm.eh.sjlj.setjmp
says that this intrinsic is compatible with the GCC __builtin_setjmp
implementation, so why isn't it compatible with MSVC CRT (in case of
using MSVC CRT)?
--
Alexander Mitin,
Instantiations, Inc.
More information about the llvm-dev
mailing list