#include "elna/gcc/elna-builtins.h" #include "elna/gcc/elna1.h" #include "stor-layout.h" #include "stringpool.h" #include "elna/gcc/elna-tree.h" namespace elna { namespace gcc { void init_ttree() { elna_int_type_node = long_integer_type_node; elna_word_type_node = size_type_node; elna_char_type_node = unsigned_char_type_node; elna_bool_type_node = boolean_type_node; elna_byte_type_node = make_unsigned_type(8); elna_float_type_node = double_type_node; elna_string_type_node = make_node(RECORD_TYPE); tree_chain record_chain; record_chain.append(build_field(UNKNOWN_LOCATION, elna_string_type_node, "length", elna_word_type_node)); record_chain.append(build_field(UNKNOWN_LOCATION, elna_string_type_node, "ptr", build_pointer_type_for_mode(elna_char_type_node, VOIDmode, true))); TYPE_FIELDS(elna_string_type_node) = record_chain.head(); layout_type(elna_string_type_node); } } }