------- 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