[PATCH] D77920: [Windows EH] Fix the order of Nested try-catches in $tryMap$ table

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 15 17:07:09 PDT 2020


rnk added a comment.

In D77920#1985315 <https://reviews.llvm.org/D77920#1985315>, @tentzen wrote:

> Are  you questioning the throw in outer _try or inner _try?  Windows runtime expects outer-first and inner-next ordering.  It searches TBME table in REVERSED ordering.  So for throw in inner _try, the inner catch is located.  For the throw in outer _try, the State of it is lower then inner one. So the inner catch will be skipped and outer catch will be located.  Hope this answer your question.


Yep, this makes sense, I understand how we want to rearrange the table.

My concern is that I thought we already have in-tree tests for this case, and I can see from the Harbormaster link on this patch that they will fail:
https://reviews.llvm.org/harbormaster/unit/view/57903/
LLVM.CodeGen/X86::win-catchpad-nested-cxx.ll

So, those test expectations need to be updated to land this patch.


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

https://reviews.llvm.org/D77920





More information about the llvm-commits mailing list