------- Comment #2 from pault at gcc dot gnu dot org 2006-04-18 16:10 ------- The fix turns out to be almost insulting: One type and one unnecessary gfc_todo (not the original one, by the way!)
Index: gcc/fortran/trans-array.c =================================================================== *** gcc/fortran/trans-array.c (revision 112981) --- gcc/fortran/trans-array.c (working copy) *************** gfc_trans_array_constructor_subarray (st *** 1035,1043 **** gfc_copy_loopinfo_to_se (&se, &loop); se.ss = ss; - if (expr->ts.type == BT_CHARACTER) - gfc_todo_error ("character arrays in constructors"); - gfc_trans_array_ctor_element (&body, desc, *poffset, &se, expr); gcc_assert (se.ss == gfc_ss_terminator); --- 1035,1040 ---- *************** get_array_ctor_var_strlen (gfc_expr * ex *** 1311,1317 **** /* Array references don't change the string length. */ break; ! case COMPONENT_REF: /* Use the length of the component. */ ts = &ref->u.c.component->ts; break; --- 1308,1314 ---- /* Array references don't change the string length. */ break; ! case REF_COMPONENT: /* Use the length of the component. */ ts = &ref->u.c.component->ts; break; I will try to compile tonto-2.2 before submitting Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27113