[llvm-dev] How to call an (x86) cleanup/catchpad funclet

Reid Kleckner via llvm-dev llvm-dev at lists.llvm.org
Tue Apr 5 09:18:42 PDT 2016

On Tue, Apr 5, 2016 at 12:57 AM, Carlo Kok <ck at remobjects.com> wrote:
> Also, unless you absolutely need to be compatible with MSVC exceptions,
>> don't use funclets for your new personality. Use landingpads. They are
>> better and will get you better code.
> ah ke, but landingpads won't let me catch SEH exceptions will they?

You can build a personality function similar to __gxx_personality_seh0 that
calls filter functions, and then resumes control at the appropriate
landingpad. You'd need to build out something similar to _Unwind_Resume or
use mingw's from libgcc to implement successive unwinding for finally.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160405/cf172589/attachment.html>

More information about the llvm-dev mailing list