libFirm
Loading...
Searching...
No Matches

Functions

ir_typenew_type_union (ident *name)
 Creates a new type union.
 
size_t get_union_n_members (const ir_type *uni)
 Returns the number of unioned types of this union.
 
ir_entityget_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.
 
int is_Union_type (const ir_type *uni)
 Returns true if a type is a union type.
 

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

◆ get_union_member()

ir_entity * get_union_member ( const ir_type * uni,
size_t pos )

Returns the entity at position pos of a union.

◆ get_union_member_index()

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

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

◆ get_union_n_members()

size_t get_union_n_members ( const ir_type * uni)

Returns the number of unioned types of this union.

◆ is_Union_type()

int is_Union_type ( const ir_type * uni)

Returns true if a type is a union type.

◆ new_type_union()

ir_type * new_type_union ( ident * name)

Creates a new type union.