[Bug fortran/61831] [4.9/ 5 Regression] runtime error: pointer being freed was not allocated

mikael at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Jul 18 11:49:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61831

--- Comment #53 from Mikael Morin <mikael at gcc dot gnu.org> ---
(In reply to Dominique d'Humieres from comment #50)
> Compiling the original test of pr40440 after revision r225926 gives an ICE:
> 
You can try:

Index: trans-array.c
===================================================================
--- trans-array.c       (révision 225979)
+++ trans-array.c       (copie de travail)
@@ -9166,7 +9166,11 @@ gfc_get_proc_ifc_for_expr (gfc_expr *procedure_ref
     return NULL;

   /* Normal procedure case.  */
-  sym = procedure_ref->symtree->n.sym;
+  if (procedure_ref->expr_type == EXPR_FUNCTION
+      && procedure_ref->value.function.esym)
+    sym = procedure_ref->value.function.esym;
+  else
+    sym = procedure_ref->symtree->n.sym;

   /* Typebound procedure case.  */
   for (ref = procedure_ref->ref; ref; ref = ref->next)


More information about the Gcc-bugs mailing list