[PATCH] D79760: [WinEH64] Fix a crush issue when c++ exception nested in a particular form.

Ten Tzen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 13 23:23:13 PDT 2020


tentzen added a comment.

right, I noticed that too and looked into it further..

It turned out that Windows 32-bit runtime expects post-ordering when looking for catch-handler, but sharing the code with 64-bit runtime when looking up EH State during DTor cleaning-up. 
Thus, MSVC/X86 today actually fails on Test7 in ehthrow.cxx.

Incorrect Ctor/Dtor ordering is less significant than Catch handling.  for now LLVM must be compatible with MSVC.  
This also affects the other two targets on Windows; Arm32 & Arm64.   I re-submitted a simper and more completed patch (in D79474 <https://reviews.llvm.org/D79474>), including test case for AArch64. will add one for Arm32 later..


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D79760





More information about the llvm-commits mailing list