GCC Middle and Back End API Reference
tree_base Struct Reference

#include <tree-core.h>

Data Structures

union  [union].u

Data Fields

tree_code code: 16
unsigned side_effects_flag: 1
unsigned constant_flag: 1
unsigned addressable_flag: 1
unsigned volatile_flag: 1
unsigned readonly_flag: 1
unsigned asm_written_flag: 1
unsigned nowarning_flag: 1
unsigned visited: 1
unsigned used_flag: 1
unsigned nothrow_flag: 1
unsigned static_flag: 1
unsigned public_flag: 1
unsigned private_flag: 1
unsigned protected_flag: 1
unsigned deprecated_flag: 1
unsigned default_def_flag: 1
union  u

Detailed Description

A tree node can represent a data type, a variable, an expression
or a statement.  Each node has a TREE_CODE which says what kind of
thing it represents.  Some common codes are:
INTEGER_TYPE -- represents a type of integers.
ARRAY_TYPE -- represents a type of pointer.
VAR_DECL -- represents a declared variable.
INTEGER_CST -- represents a constant integer value.
PLUS_EXPR -- represents a sum (an expression).

As for the contents of a tree node: there are some fields
that all nodes share.  Each TREE_CODE has various special-purpose
fields as well.  The fields of a node are never accessed directly,
always through accessor macros.   
Every kind of tree node starts with this structure,
so all nodes have these fields.

See the accessor macros, defined below, for documentation of the
fields, and the table below which connects the fields and the
accessor macros.   

Field Documentation

◆ addressable_flag

unsigned tree_base::addressable_flag

◆ asm_written_flag

unsigned tree_base::asm_written_flag

◆ code

tree_code tree_base::code

◆ constant_flag

unsigned tree_base::constant_flag

◆ default_def_flag

unsigned tree_base::default_def_flag

◆ deprecated_flag

unsigned tree_base::deprecated_flag

◆ nothrow_flag

unsigned tree_base::nothrow_flag

◆ nowarning_flag

unsigned tree_base::nowarning_flag

◆ private_flag

unsigned tree_base::private_flag

◆ protected_flag

unsigned tree_base::protected_flag

◆ public_flag

unsigned tree_base::public_flag

◆ readonly_flag

unsigned tree_base::readonly_flag

◆ side_effects_flag

unsigned tree_base::side_effects_flag

◆ static_flag

unsigned tree_base::static_flag

◆ u

union tree_base::[union].u tree_base::u

◆ used_flag

unsigned tree_base::used_flag

◆ visited

unsigned tree_base::visited

◆ volatile_flag

unsigned tree_base::volatile_flag

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