Please ignore the following part of my patch - its unrelated. (It's
for/from http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46328#c11)
Tobias
Index: gcc/fortran/resolve.c
===================================================================
--- gcc/fortran/resolve.c (Revision 182995)
+++ gcc/fortran/resolve.c (Arbeitskopie)
@@ -5683,8 +5683,10 @@ get_declared_from_expr (gfc_ref **class_ref, gfc_r
- if (declared == NULL)
+ if (declared == NULL&& e->expr_type == EXPR_VARIABLE)
declared = e->symtree->n.sym->ts.u.derived;
+ else
+ declared = e->ts.u.derived;