http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50960
--- Comment #9 from janus at gcc dot gnu.org 2011-11-02 18:49:35 UTC --- (In reply to comment #6) > It fails at least on: > > FAIL: gfortran.dg/dynamic_dispatch_4.f03 -O0 (test for excess errors) > FAIL: gfortran.dg/dynamic_dispatch_5.f03 -O0 (test for excess errors) Those can be fixed by: Index: gcc/fortran/resolve.c =================================================================== --- gcc/fortran/resolve.c (revision 180780) +++ gcc/fortran/resolve.c (working copy) @@ -9503,7 +9503,7 @@ resolve_values (gfc_symbol *sym) { gfc_try t; - if (sym->value == NULL) + if (sym->value == NULL || sym->attr.use_assoc) return; if (sym->value->expr_type == EXPR_STRUCTURE) Use-associated symbols should have been resolved before, so I guess we don't need to do it again? (At least this produces no further regressions.) Apart from the two failures above, the patch in comment 1 also fails on: FAIL: gfortran.dg/class_15.f03 -O (internal compiler error) FAIL: gfortran.dg/extends_type_of_1.f03 -O0 (internal compiler error) FAIL: gfortran.dg/extends_type_of_3.f90 -O (internal compiler error) Those are not cured by the patchlet above.