[clang] [WinEH] Fix crash, object unwinding in the except block (PR #172287)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 27 01:54:08 PST 2026
GkvJwa wrote:
> > This case(new and delete object) I think we should probably fix the EH numbering algorithm, This does not conflict with This PR
>
> I argued throughout this PR that "fixing this in EH numbering" is not optimal since mixing SEH with C++ unwinding is generally not allowed in MS C++ and only seems to be supported by Borland C++. In the latter case I do not know how unwinding is generated (e.g. which personality is chosen).
>
> What i noticed though: even if we mark the dtor as virtual for the delete sample there is still a scope begin+end. That is also true if we delete the delete call and just have the ctor present. Since this is legal in MS C++ I guess one can argue that we should indeed respect c++ scope begin/end intrinsics in the `calculateSEHStateForAsynchEH` numbering algo.
Yes, because using MSVC is effective. impl can be discussed further.
https://github.com/llvm/llvm-project/pull/172287
More information about the cfe-commits
mailing list