http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50438



janus at gcc dot gnu.org changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

             Status|NEW                         |ASSIGNED

         AssignedTo|unassigned at gcc dot       |janus at gcc dot gnu.org

                   |gnu.org                     |



--- Comment #5 from janus at gcc dot gnu.org 2013-04-27 11:33:29 UTC ---

(In reply to comment #3)

> Here is a simple patch to avoid this:

>

> [...]

>

> It cures both test cases, but I'm pretty sure it will have quite a number of

> testsuite failures (haven't checked yet).



The patch from comment #3 indeed shows a huge number of failures (as expected).





> If we remove it here,

> 'gfc_reduce_init_expr' should be called somewhere at resolution stage, of

> course! We just need a suitable place for doing this ...



e.g. something like 'resolve_values' or 'resolve_structure_cons'?





However, I'm thinking that this approach may be too big of a hammer for the

problem at hand. A somewhat less invasive patch:



Index: gcc/fortran/expr.c

===================================================================

--- gcc/fortran/expr.c    (revision 198155)

+++ gcc/fortran/expr.c    (working copy)

@@ -2522,6 +2522,8 @@ gfc_check_init_expr (gfc_expr *e)



       break;

     }

+      else if (e->symtree->n.sym->attr.flavor == FL_PROCEDURE)

+    break;



       if (gfc_in_match_data ())

     break;





This is also sufficient to remove the error. Regtesting now ...

Reply via email to