GCC Middle and Back End API Reference
eh_region_d Struct Reference

#include <except.h>

Collaboration diagram for eh_region_d:

Data Structures

union  eh_region_u

Data Fields

struct eh_region_douter
struct eh_region_dinner
struct eh_region_dnext_peer
int index
enum eh_region_type type
union eh_region_d::eh_region_u u
struct eh_landing_pad_dlanding_pads
rtx exc_ptr_reg
rtx filter_reg
bool use_cxa_end_cleanup

Detailed Description

Describes one exception region.


Field Documentation

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::outer

The immediately surrounding region.

Referenced by do_goto_redirection(), expand_eh_return(), fixup_eh_region_pointers(), and init_eh_for_function().

bool eh_region_d::use_cxa_end_cleanup

True if this region should use __cxa_end_cleanup instead of _Unwind_Resume.


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