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