GCC Middle and Back End API Reference
|
#include <except.h>
Data Fields | |
struct eh_landing_pad_d * | next_lp |
struct eh_region_d * | region |
tree | post_landing_pad |
rtx | landing_pad |
int | index |
A landing pad for a given exception region. Any transfer of control from the EH runtime to the function happens at a landing pad.
int eh_landing_pad_d::index |
The index of this landing pad within fun->eh->lp_array.
Referenced by do_return_redirection(), lower_eh_constructs(), make_goto_expr_edges(), output_eh_try_list(), record_stmt_eh_region(), and sjlj_assign_call_site_values().
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().