diff -r f332b62cd2c1 -r c6aed7e5f070 stage4/generate_c/generate_c_typedecl.cc --- a/stage4/generate_c/generate_c_typedecl.cc Tue Dec 01 09:03:33 2009 +0100 +++ b/stage4/generate_c/generate_c_typedecl.cc Wed Dec 02 16:11:01 2009 +0100 @@ -195,13 +195,13 @@ void *visit(subrange_type_declaration_c *symbol) { TRACE("subrange_type_declaration_c"); - s4o_incl.print("typedef "); + s4o_incl.print("__DECLARE_DERIVED_TYPE("); current_basetypedeclaration = subrangebasetype_bd; symbol->subrange_spec_init->accept(*this); current_basetypedeclaration = none_bd; - s4o_incl.print(" "); + s4o_incl.print(", "); symbol->subrange_type_name->accept(*basedecl); - s4o_incl.print(";\n"); + s4o_incl.print(")\n"); current_type_name = symbol->subrange_type_name; @@ -340,16 +340,17 @@ void *visit(array_type_declaration_c *symbol) { TRACE("array_type_declaration_c"); - s4o_incl.print("typedef "); + s4o_incl.print("__DECLARE_ARRAY_TYPE("); current_basetypedeclaration = arraybasetypeincl_bd; symbol->array_spec_init->accept(*this); current_basetypedeclaration = none_bd; - s4o_incl.print(" "); + s4o_incl.print(","); symbol->identifier->accept(*basedecl); + s4o_incl.print(","); current_basetypedeclaration = arraysubrange_bd; symbol->array_spec_init->accept(*this); current_basetypedeclaration = none_bd; - s4o_incl.print(";\n"); + s4o_incl.print(")\n"); if (search_base_type.type_is_subrange(symbol->identifier)) { s4o.print("#define __CHECK_"); @@ -443,11 +444,11 @@ void *visit(simple_type_declaration_c *symbol) { TRACE("simple_type_declaration_c"); - s4o_incl.print("typedef "); + s4o_incl.print("__DECLARE_DERIVED_TYPE"); symbol->simple_spec_init->accept(*this); - s4o_incl.print(" "); + s4o_incl.print(","); symbol->simple_type_name->accept(*basedecl); - s4o_incl.print(";\n"); + s4o_incl.print(");\n"); return NULL; } @@ -515,11 +516,11 @@ void *visit(structure_type_declaration_c *symbol) { TRACE("structure_type_declaration_c"); - s4o_incl.print("typedef "); + s4o_incl.print("__DECLARE_STRUCT_TYPE("); symbol->structure_specification->accept(*this); - s4o_incl.print(" "); + s4o_incl.print(","); symbol->structure_type_name->accept(*basedecl); - s4o_incl.print(";\n"); + s4o_incl.print(");\n"); return NULL; }