[LLVMdev] Semantics of __builtin_setjmp/__builtin_longjmp

Joerg Sonnenberger joerg at britannica.bec.de
Tue Feb 10 12:35:42 PST 2015


Hi all,
currently we lower the __builtin_setjmp/__builtin_longjmp intrinsincs to
SjLj exception style intrinsics. For ARM on non-Darwin, they end up as
nops, breaking Ruby. This leads to the question of what the defined
semantics of them is.

(a) Are they supposed to be compatible with libc? PPC disagrees in
comments.

(b) Are they supposed to be compatible with GCC? If not with libc, why
with GCC?

Joerg



More information about the llvm-dev mailing list