[PATCH] D120243: allow for contention free exception unwinding

cqwrteur via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 22 22:43:15 PST 2022


trcrsired added a comment.

In D120243#3339525 <https://reviews.llvm.org/D120243#3339525>, @neumannt wrote:

> 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.

"For example a void (*)() function ptr is not compatible with a void (*)() throws function ptr" is a bad excuse tbh.
We already have that kind of issues being. void (*)() noexcept is not be compatible with void (*)();

Please stop wasting time on fixing C++ EH. Start to work on herbceptions. I use llvm mainly for compiling wasm programs and a lot of other environments which don't have the EH support. Adding "fix" to libunwind is not going to address any real issue with EH.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D120243



More information about the llvm-commits mailing list