|
libFirm
|
Modules | |
| Class | |
| If the type opcode is set to type_class the type represents class types. | |
| Struct | |
| A struct type represents aggregate types that consist of a list of fields. | |
| Union | |
| The union type represents union types. | |
Functions | |
| ident * | get_compound_ident (const ir_type *tp) |
| Returns the identifier of a compound type. | |
| const char * | get_compound_name (const ir_type *tp) |
| Returns compound identifier as c-string. | |
| size_t | get_compound_n_members (const ir_type *tp) |
| Returns the number of elements in a Firm compound type. | |
| ir_entity * | get_compound_member (const ir_type *tp, size_t pos) |
| Returns the member of a Firm compound type at position pos. | |
| size_t | get_compound_member_index (const ir_type *tp, ir_entity *member) |
| Returns index of member in tp, -1 if not contained. | |
| void | remove_compound_member (ir_type *compound, ir_entity *entity) |
| Remove a member from a compound type. | |
| void | set_compound_variable_size (ir_type *compound, int variable_size) |
| Sets the variable size flag of a compound type. | |
| int | is_compound_variable_size (const ir_type *compound) |
| Returns the variable size flag. | |
| void | default_layout_compound_type (ir_type *tp) |
| layout members of a struct/union or class type in a default way. | |
| int | is_compound_type (const ir_type *tp) |
| Checks whether a type is a compound type. | |
| void default_layout_compound_type | ( | ir_type * | tp | ) |
layout members of a struct/union or class type in a default way.
Returns the member of a Firm compound type at position pos.
| tp | The type (must be struct, union or class). |
| pos | The number of the member. |
Returns index of member in tp, -1 if not contained.
| size_t get_compound_n_members | ( | const ir_type * | tp | ) |
Returns the number of elements in a Firm compound type.
This is just a comfortability function, because structs and classes can often be treated be the same code, but they have different access functions to their members.
| tp | The type (must be struct, union or class). |
| const char* get_compound_name | ( | const ir_type * | tp | ) |
Returns compound identifier as c-string.
| int is_compound_type | ( | const ir_type * | tp | ) |
Checks whether a type is a compound type.
| tp | - any type |
| int is_compound_variable_size | ( | const ir_type * | compound | ) |
Returns the variable size flag.
Remove a member from a compound type.
| void set_compound_variable_size | ( | ir_type * | compound, |
| int | variable_size | ||
| ) |
Sets the variable size flag of a compound type.
The last member of a variable size compound type may be an array type without explicit size. So the get_type_size_bytes() of a variable size compound type only returns a minimum size for the type (the size if the last members size is 0)