11.4.2.1 Current structure hierarchy

struct tree_decl_minimal

This is the minimal structure to inherit from in order for common DECL macros to work. The fields it contains are a unique ID, source location, context, and name.

struct tree_decl_common

This structure inherits from struct tree_decl_minimal. It contains fields that most DECL nodes need, such as a field to store alignment, machine mode, size, and attributes.

struct tree_field_decl

This structure inherits from struct tree_decl_common. It is used to represent FIELD_DECL.

struct tree_label_decl

This structure inherits from struct tree_decl_common. It is used to represent LABEL_DECL.

struct tree_translation_unit_decl

This structure inherits from struct tree_decl_common. It is used to represent TRANSLATION_UNIT_DECL.

struct tree_decl_with_rtl

This structure inherits from struct tree_decl_common. It contains a field to store the low-level RTL associated with a DECL node.

struct tree_result_decl

This structure inherits from struct tree_decl_with_rtl. It is used to represent RESULT_DECL.

struct tree_const_decl

This structure inherits from struct tree_decl_with_rtl. It is used to represent CONST_DECL.

struct tree_parm_decl

This structure inherits from struct tree_decl_with_rtl. It is used to represent PARM_DECL.

struct tree_decl_with_vis

This structure inherits from struct tree_decl_with_rtl. It contains fields necessary to store visibility information, as well as a section name and assembler name.

struct tree_var_decl

This structure inherits from struct tree_decl_with_vis. It is used to represent VAR_DECL.

struct tree_function_decl

This structure inherits from struct tree_decl_with_vis. It is used to represent FUNCTION_DECL.