[libcxx-commits] [PATCH] D120243: allow for contention free exception unwinding

Thomas Neumann via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Feb 22 22:37:52 PST 2022


neumannt added a comment.

In D120243#3339429 <https://reviews.llvm.org/D120243#3339429>, @trcrsired wrote:

> I am curious about why LLVM refuses to implement herbceptions. I do not think any of these patches are going to fully address the issue. My issues with EH are that EH is simply not available in my environment due to implementation difficulties. If you think the issue is so severe as I do, why not just start working on P0709?

I have tried that, too, but I encountered two problems: 1) herbcepations were painfully invasive to introduce in our code base, as they are not source code compatible. For example a void (*)() function ptr is not compatible with a void (*)() throws function ptr. And potentially throwing paths tends to turn up everywhere, when I changed one innocently looking functions to "throws" I ended up changing over 230 files as a consequence. That makes it very difficult to introduce, I think we need a better compatibility story for that before herbceptions are ready for prime time. And 2) third party code  continues to throw traditional exceptions, including the standard library.

Thus, we will need to fix the unwinding issue, too, independent of herbceptions. Simply because existing code continues to need that unwinding logic.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D120243



More information about the libcxx-commits mailing list