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

Reply via email to