Go to the source code of this file.
|
#define | TREE_TAG(ID, NAME, BIT) |
|
#define | TREE_KIND(ID, NAME, TAGS) |
| tree kind defs More...
|
|
#define | DIGIT_KIND(ID, STR) |
| boolean logic type More...
|
|
#define | SIGN_KIND(ID, STR) |
| dealing with C interop More...
|
|
#define | TYPE_QUALIFIER(ID, STR, BIT) |
|
#define | TREE_LINKAGE(ID, STR) |
| symbol visibility during linking More...
|
|
#define | TREE_VISIBILITY(ID, NAME) |
| symbol visibility during compilation More...
|
|
#define | UNARY_OP(ID, NAME, SYMBOL) |
|
#define | BINARY_OP(ID, NAME, SYMBOL) |
|
#define | COMPARE_OP(ID, NAME, SYMBOL) |
|
#define | CAST_OP(ID, NAME) |
|
#define | TREE_ARITY(ID, NAME) |
|
#define | TREE_JUMP(ID, NAME) |
|
#define | TREE_EVAL_MODEL(ID, NAME, BIT) |
|
◆ BINARY_OP
#define BINARY_OP |
( |
|
ID, |
|
|
|
NAME, |
|
|
|
SYMBOL |
|
) |
| |
◆ CAST_OP
#define CAST_OP |
( |
|
ID, |
|
|
|
NAME |
|
) |
| |
◆ COMPARE_OP
#define COMPARE_OP |
( |
|
ID, |
|
|
|
NAME, |
|
|
|
SYMBOL |
|
) |
| |
◆ DIGIT_KIND
#define DIGIT_KIND |
( |
|
ID, |
|
|
|
STR |
|
) |
| |
boolean logic type
types an empty type is a type that can never be created can be used to denote a function that wont return a type that has a single possible value equivalent to void
in C an opaque, possibly typed, pointer equivalent to both void*
as well as a pointer to an incomplete type a digit with a fixed width and sign a function pointer type (no captures) an immutable string this is a special sort of array that can be implicitly cast to a pointer or array a reference to an object equivalent to an lvalue in C or a T&
in C++ a pointer to an object plain old T*
an array of objects that may optionally have a fixed size either T[]
or T[N]
a class type a struct type a union type an enum a discriminated union, or sum type a type alias expressions these yield a value sizeof expression alignof expression offsetof expression an uninitialized value a unit value a boolean value a digit value a string literal a cast expression exact rules vary by which CAST_OP is used load from an address pointers, arrays, and references can be loaded but must have a complete type, ie not eTreeTypeOpaque or eTreePartial take the address of an object with storage unary operations binary operations compare operations get a reference to a field in a struct equivilent to obj.field
in C get a reference to an index in an array equivalent to arr[idx]
in C (but arr must be a pointer type) call a function supports both direct and indirect calls statements these cannot yield a value a dummy statement node to be used when passing builtins/attribute statements to a backend < loop related jumps declarations < a qualified node unresolved type an error message
Definition at line 182 of file tree.inc.
◆ SIGN_KIND
#define SIGN_KIND |
( |
|
ID, |
|
|
|
STR |
|
) |
| |
dealing with C interop
Definition at line 223 of file tree.inc.
◆ TREE_ARITY
#define TREE_ARITY |
( |
|
ID, |
|
|
|
NAME |
|
) |
| |
◆ TREE_EVAL_MODEL
#define TREE_EVAL_MODEL |
( |
|
ID, |
|
|
|
NAME, |
|
|
|
BIT |
|
) |
| |
◆ TREE_JUMP
#define TREE_JUMP |
( |
|
ID, |
|
|
|
NAME |
|
) |
| |
◆ TREE_KIND
#define TREE_KIND |
( |
|
ID, |
|
|
|
NAME, |
|
|
|
TAGS |
|
) |
| |
tree kind defs
Definition at line 22 of file tree.inc.
◆ TREE_LINKAGE
#define TREE_LINKAGE |
( |
|
ID, |
|
|
|
STR |
|
) |
| |
symbol visibility during linking
Definition at line 244 of file tree.inc.
◆ TREE_TAG
#define TREE_TAG |
( |
|
ID, |
|
|
|
NAME, |
|
|
|
BIT |
|
) |
| |
no tags the node type can have a name this node type can have type qualifiers this node type is a type this node type has a type it evaluates to this node type can have a storage class this node type can have an evaluation model
Definition at line 16 of file tree.inc.
◆ TREE_VISIBILITY
#define TREE_VISIBILITY |
( |
|
ID, |
|
|
|
NAME |
|
) |
| |
symbol visibility during compilation
Definition at line 260 of file tree.inc.
◆ TYPE_QUALIFIER
#define TYPE_QUALIFIER |
( |
|
ID, |
|
|
|
STR, |
|
|
|
BIT |
|
) |
| |
◆ UNARY_OP
#define UNARY_OP |
( |
|
ID, |
|
|
|
NAME, |
|
|
|
SYMBOL |
|
) |
| |