[PATCH] D124642: [WIP] Add support for return from an SEH __finally block.

Eli Friedman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon May 2 12:45:31 PDT 2022


efriedma added a comment.

I'm currently thinking it makes sense to introduce an intrinsic "void @llvm.localunwind() noreturn".  No arguments.  Only valid with SEH personality; must unwind to a catchpad with a filter named __IsLocalUnwind, or something like that.  It would basically just lower to a call to _local_unwind, but it would compute the arguments in the backend.  Primary downside is that it wouldn't be possible to unwind to anything other than the closest catchpad. But not sure if unwinding further is actually useful in practice, given the ways we need to use it.

The other thing I'm thinking about is how to restructure the code to make the catchpad hack in WinException.cpp a bit less hacky.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124642/new/

https://reviews.llvm.org/D124642



More information about the cfe-commits mailing list