GCC Middle and Back End API Reference
eh_landing_pad_d Struct Reference

#include <except.h>

Collaboration diagram for eh_landing_pad_d:

Data Fields

struct eh_landing_pad_dnext_lp
struct eh_region_dregion
tree post_landing_pad
rtx landing_pad
int index

Detailed Description

A landing pad for a given exception region. Any transfer of control from the EH runtime to the function happens at a landing pad.


Field Documentation

int eh_landing_pad_d::index
rtx eh_landing_pad_d::landing_pad

At the rtl level, the location to which the runtime will transfer control. This differs from the post-landing-pad in that the target's EXCEPTION_RECEIVER pattern will be expanded here, as well as other bookkeeping specific to exceptions. There must not be normal edges into the block containing the landing-pad label.

Referenced by collect_one_action_chain().

struct eh_landing_pad_d* eh_landing_pad_d::next_lp

The linked list of all landing pads associated with the region.

Referenced by output_eh_try_list(), and record_stmt_eh_region().

tree eh_landing_pad_d::post_landing_pad

At the gimple level, the location to which control will be transferred for this landing pad. There can be both EH and normal edges into the block containing the post-landing-pad label.

Referenced by do_return_redirection(), execute_lower_eh_dispatch(), lower_eh_constructs(), and make_goto_expr_edges().

struct eh_region_d* eh_landing_pad_d::region

The region with which this landing pad is associated.

Referenced by lower_eh_constructs(), mark_reachable_handlers(), and output_eh_try_list().


The documentation for this struct was generated from the following file: