My apologies, I meant that each try block was delimited by a C_SCOPE_TABLE_ENTRY, not by multiple tables. Regardless, .seh_handlerdata is still the instruction responsible for emitting those, and Windows 100% accepts multiple scope table entries, so if this is a defect we should fix it
On Thu, Jun 15, 2023 at 4:14 PM LIU Hao <[email protected]> wrote: > 在 2023/6/15 13:36, Julian Waters 写道: > > Given that a function only has one __C_specific_handler, and multiple > > Structured Exception try blocks are handled with multiple scope tables, > or > > .seh_handlerdata as gcc calls them, the fault must lie with > > .seh_handlerdata. Is there only allowed to be one .seh_handlerdata > emitting > > You may take outputs of MSVC as a reference [1]. Although x86 and x86_64 > SEH constructions are very > different, it looks to me that, in both cases, multiple `__try` blocks are > encoded in a single table. > > > [1] https://gcc.godbolt.org/z/fnej7f3P1 > > > > -- > Best regards, > LIU Hao > > _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
