# HG changeset patch # User mjsousa # Date 1391855546 0 # Node ID d80971552535c5e7a59160b882b1e99615d81de9 # Parent a3109442e166ea83981f900ede0561d9945745b8 Fix bug - correctly declare struct members whose type is a directly defined array (e.g.: STRUCT x: ARRAY of XXX; END_STRUCT) diff -r a3109442e166 -r d80971552535 stage4/generate_c/generate_c.cc --- a/stage4/generate_c/generate_c.cc Wed Feb 05 20:04:50 2014 +0000 +++ b/stage4/generate_c/generate_c.cc Sat Feb 08 10:32:26 2014 +0000 @@ -855,11 +855,20 @@ void *visit(array_spec_init_c *symbol) { switch (current_mode) { case arraydeclaration_im: + { + array_specification_c *specification = dynamic_cast(symbol->array_specification); + if (specification != NULL) + symbol->array_specification->accept(*this); + } + break; case arrayname_im: { array_specification_c *specification = dynamic_cast(symbol->array_specification); if (specification != NULL) symbol->array_specification->accept(*this); + identifier_c *name = dynamic_cast(symbol->array_specification); + if (name != NULL) + s4o_incl.print(name->value); } break; default: