[LLVMdev] Why clang++ doesn't set 'noreturn' flag on declarations of __cxa_throw and _Unwind_Resume_or_Rethrow ?
Bill Wendling
wendling at apple.com
Thu Jul 15 18:30:29 PDT 2010
On Jul 15, 2010, at 5:51 PM, John McCall wrote:
>> Also can _Unwind_Resume_or_Rethrow actually return? When I run some
>> simple exception code in JIT I see that this function actually returns
>> and then SEGVs.
>
> I have no idea what system you're on, but _Unwind_Resume_or_Rethrow really
> isn't allowed to return.
>
It's not. But if the unwind library can't handle something, then the _Unwind_Resume_or_Rethrow could fall out of the function (it would assert in debug mode). Darwin's implementation of _URoR in libunwind does this.
-bw
More information about the llvm-dev
mailing list