https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85638
--- Comment #6 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- The key point is that several elements of cfun->eh->lp_array can share the same landing pad: (gdb) p *cfun->eh->lp_array->m_vecdata[1] $11 = {next_lp = 0x0, region = 0x7ffff695c898, post_landing_pad = 0x7ffff695df80, landing_pad = 0x7ffff6a6b200, index = 1} (gdb) p *cfun->eh->lp_array->m_vecdata[2] $12 = {next_lp = 0x0, region = 0x7ffff695c8f0, post_landing_pad = 0x7ffff695de80, landing_pad = 0x7ffff6a6b200, index = 2} (gdb) p *cfun->eh->lp_array->m_vecdata[1]->region $13 = {outer = 0x0, inner = 0x0, next_peer = 0x0, index = 1, type = ERT_TRY, u = {eh_try = {first_catch = 0x7ffff6964398, last_catch = 0x7ffff6964398}, allowed = {type_list = 0x7ffff6964398, label = 0x7ffff6964398, filter = 0}, must_not_throw = {failure_decl = 0x7ffff6964398, failure_loc = 4137042840}}, landing_pads = 0x7ffff69648c0, exc_ptr_reg = 0x7ffff6a6a2a0, filter_reg = 0x7ffff6a6a150, use_cxa_end_cleanup = false} (gdb) p *cfun->eh->lp_array->m_vecdata[2]->region $14 = {outer = 0x0, inner = 0x0, next_peer = 0x7ffff695c898, index = 2, type = ERT_CLEANUP, u = {eh_try = {first_catch = 0x0, last_catch = 0x0}, allowed = {type_list = 0x0, label = 0x0, filter = 0}, must_not_throw = { failure_decl = 0x0, failure_loc = 0}}, landing_pads = 0x7ffff69643c0, exc_ptr_reg = 0x7ffff6a6a8e8, filter_reg = 0x0, use_cxa_end_cleanup = false}