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

Reply via email to