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



--- Comment #5 from janus at gcc dot gnu.org 2012-11-04 13:56:03 UTC ---

Here is an improved patch, which hopefully should be free of testsuite

regressions (will re-check):



Index: gcc/fortran/parse.c

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

--- gcc/fortran/parse.c    (revision 193133)

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

@@ -3395,12 +3395,10 @@ parse_associate (void)

       sym->declared_at = a->where;

       gfc_set_sym_referenced (sym);



-      /* Initialize the typespec.  It is not available in all cases,

-     however, as it may only be set on the target during resolution.

-     Still, sometimes it helps to have it right now -- especially

-     for parsing component references on the associate-name

-     in case of association to a derived-type.  */

-      sym->ts = a->target->ts;

+      /* For variables, we can already set the typespec. Other cases have to

+     wait until resolution stage.  */

+      if (a->target->expr_type == EXPR_VARIABLE)

+    sym->ts = a->target->ts;

     }



   accept_statement (ST_ASSOCIATE);

Reply via email to