diff -r cece842c7417 -r 0919986a5c98 stage4/generate_c/generate_c_inlinefcall.cc --- a/stage4/generate_c/generate_c_inlinefcall.cc Tue Dec 15 16:29:44 2009 +0100 +++ b/stage4/generate_c/generate_c_inlinefcall.cc Tue Dec 15 20:50:30 2009 +0100 @@ -317,13 +317,15 @@ symbol->subscripted_variable->accept(*this); break; case complextype_suffix_vg: + symbol->subscripted_variable->accept(*this); + current_array_type = search_varfb_instance_type->get_rawtype(symbol->subscripted_variable); - symbol->subscripted_variable->accept(*this); - if (current_array_type != NULL) { - s4o.print(".table"); - symbol->subscript_list->accept(*this); - current_array_type = NULL; - } + if (current_array_type == NULL) ERROR; + + s4o.print(".table"); + symbol->subscript_list->accept(*this); + + current_array_type = NULL; break; default: print_getter(symbol);