libFirm
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages

The union type represents union types. More...

Functions

ir_typenew_type_union (ident *name)
 Creates a new type union. More...
 
identget_union_ident (const ir_type *uni)
 Returns union identifier. More...
 
const char * get_union_name (const ir_type *uni)
 Returns union identifier as c-string. More...
 
size_t get_union_n_members (const ir_type *uni)
 Returns the number of unioned types of this union. More...
 
ir_entityget_union_member (const ir_type *uni, size_t pos)
 Returns the entity at position pos of a union. More...
 
size_t get_union_member_index (ir_type const *uni, ir_entity const *member)
 Returns index of member in uni, -1 if not contained. More...
 
int is_Union_type (const ir_type *uni)
 Returns true if a type is a union type. More...
 

Detailed Description

The union type represents union types.

Note that this representation resembles the C union type. For tagged variant types like in Pascal or Modula a combination of a struct and a union type must be used.

Function Documentation

ident* get_union_ident ( const ir_type uni)

Returns union identifier.

ir_entity* get_union_member ( const ir_type uni,
size_t  pos 
)

Returns the entity at position pos of a union.

size_t get_union_member_index ( ir_type const *  uni,
ir_entity const *  member 
)

Returns index of member in uni, -1 if not contained.

size_t get_union_n_members ( const ir_type uni)

Returns the number of unioned types of this union.

const char* get_union_name ( const ir_type uni)

Returns union identifier as c-string.

int is_Union_type ( const ir_type uni)

Returns true if a type is a union type.

ir_type* new_type_union ( ident name)

Creates a new type union.