GCC Middle and Back End API Reference
|
#include <except.h>
Data Structures | |
union | eh_region_u |
Data Fields | |
struct eh_region_d * | outer |
struct eh_region_d * | inner |
struct eh_region_d * | next_peer |
int | index |
enum eh_region_type | type |
union eh_region_d::eh_region_u | u |
struct eh_landing_pad_d * | landing_pads |
rtx | exc_ptr_reg |
rtx | filter_reg |
bool | use_cxa_end_cleanup |
Describes one exception region.
rtx eh_region_d::exc_ptr_reg |
EXC_PTR and FILTER values copied from the runtime for this region. Each region gets its own psuedos so that if there are nested exceptions we do not overwrite the values of the first exception.
rtx eh_region_d::filter_reg |
int eh_region_d::index |
The index of this region within fun->eh->region_array.
Referenced by add_stmt_to_eh_lp(), do_goto_redirection(), fixup_eh_region_pointers(), output_eh_try_list(), and remove_eh_landing_pad().
struct eh_region_d* eh_region_d::inner |
The list of immediately contained regions.
Referenced by fixup_eh_region_pointers(), init_eh_for_function(), and remove_eh_landing_pad().
struct eh_landing_pad_d* eh_region_d::landing_pads |
The list of landing pads associated with this region.
Referenced by do_return_redirection(), fixup_eh_region_pointers(), and record_stmt_eh_region().
struct eh_region_d* eh_region_d::next_peer |
Referenced by duplicate_eh_regions(), fixup_eh_region_pointers(), init_eh_for_function(), and remove_eh_landing_pad().
struct eh_region_d* eh_region_d::outer |
The immediately surrounding region.
Referenced by do_goto_redirection(), expand_eh_return(), fixup_eh_region_pointers(), and init_eh_for_function().
enum eh_region_type eh_region_d::type |
Each region does exactly one thing.
Referenced by add_stmt_to_eh_lp(), current_function_has_exception_handlers(), do_goto_redirection(), init_eh_for_function(), make_goto_expr_edges(), and sjlj_assign_call_site_values().
union eh_region_d::eh_region_u eh_region_d::u |
Referenced by duplicate_eh_regions_1(), expand_eh_return(), and make_gimple_asm_edges().
bool eh_region_d::use_cxa_end_cleanup |
True if this region should use __cxa_end_cleanup instead of _Unwind_Resume.