http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55827
kargl at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2012-12-28 CC| |kargl at gcc dot gnu.org Ever Confirmed|0 |1 Known to fail| |4.2.5, 4.3.6, 4.4.7, 4.5.4, | |4.6.4, 4.7.2, 4.8.0 --- Comment #2 from kargl at gcc dot gnu.org 2012-12-28 22:02:43 UTC --- Here's a possible patch against trunk. I'm not familiar with the internals for CLASS, so the change to class.c may need some additional work. Index: class.c =================================================================== --- class.c (revision 194745) +++ class.c (working copy) @@ -162,7 +162,8 @@ gfc_fix_class_refs (gfc_expr *e) if ((e->expr_type != EXPR_VARIABLE && e->expr_type != EXPR_FUNCTION) || (e->expr_type == EXPR_FUNCTION - && e->value.function.isym != NULL)) + && e->value.function.isym != NULL) + || e->symtree == NULL) return; ts = &e->symtree->n.sym->ts; Index: trans-expr.c =================================================================== --- trans-expr.c (revision 194745) +++ trans-expr.c (working copy) @@ -5527,7 +5527,7 @@ gfc_conv_function_expr (gfc_se * se, gfc /* We distinguish statement functions from general functions to improve runtime performance. */ - if (expr->symtree->n.sym->attr.proc == PROC_ST_FUNCTION) + if (expr->symtree && expr->symtree->n.sym->attr.proc == PROC_ST_FUNCTION) { gfc_conv_statement_function (se, expr);