libFirm
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages

The array type represents linear arrangement of objects of the same type. More...

Functions

ir_typenew_type_array (ir_type *element_type)
 Create a new type array. More...
 
void set_array_size (ir_type *array, ir_node *size)
 Sets the size (number of elements) of the array, i.e. More...
 
void set_array_size_int (ir_type *array, unsigned size)
 Sets array size of array to size elements. More...
 
int has_array_size (const ir_type *array)
 returns true if lower size != Unknown More...
 
ir_nodeget_array_size (const ir_type *array)
 Returns the size (number of elements) of an array. More...
 
unsigned get_array_size_int (const ir_type *array)
 Works only if bound is Const node with tarval that can be converted to long. More...
 
void set_array_element_type (ir_type *array, ir_type *tp)
 Sets the array element type. More...
 
ir_typeget_array_element_type (const ir_type *array)
 Returns the array element type. More...
 
void set_array_variable_size (ir_type *array, int variable_size_flag)
 Sets the array variable size flag. More...
 
int is_array_variable_size (const ir_type *array)
 Returns the array variable size flag. More...
 
int is_Array_type (const ir_type *array)
 Returns true if a type is an array type. More...
 

Detailed Description

The array type represents linear arrangement of objects of the same type.

Function Documentation

ir_type* get_array_element_type ( const ir_type array)

Returns the array element type.

ir_node* get_array_size ( const ir_type array)

Returns the size (number of elements) of an array.

unsigned get_array_size_int ( const ir_type array)

Works only if bound is Const node with tarval that can be converted to long.

int has_array_size ( const ir_type array)

returns true if lower size != Unknown

int is_Array_type ( const ir_type array)

Returns true if a type is an array type.

int is_array_variable_size ( const ir_type array)

Returns the array variable size flag.

See Also
set_array_variable_size()
ir_type* new_type_array ( ir_type element_type)

Create a new type array.

void set_array_element_type ( ir_type array,
ir_type tp 
)

Sets the array element type.

void set_array_size ( ir_type array,
ir_node size 
)

Sets the size (number of elements) of the array, i.e.

[0,size[

void set_array_size_int ( ir_type array,
unsigned  size 
)

Sets array size of array to size elements.

void set_array_variable_size ( ir_type array,
int  variable_size_flag 
)

Sets the array variable size flag.

If this flag is set then no upper/lower bounds need to be set and get_type_size_bytes() returns -1