#### 11.2.1 Trees

All GENERIC trees have two fields in common. First, `TREE_CHAIN` is a pointer that can be used as a singly-linked list to other trees. The other is `TREE_TYPE`. Many trees store the type of an expression or declaration in this field.

These are some other functions for handling trees:

`tree_size`

  Return the number of bytes a tree takes.

`build0`
`build1`
`build2`
`build3`
`build4`
`build5`
`build6`

  These functions build a tree and supply values to put in each parameter. The basic signature is ‘`code, type, [operands]`’. `code` is the `TREE_CODE`, and `type` is a tree representing the `TREE_TYPE`. These are followed by the operands, each of which is also a tree.