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

Reply via email to