[Patch, Fortran] PR 54107: [4.8 Regression] Memory hog with abstract interface

Mikael Morin mikael.morin@sfr.fr
Sun Jan 27 20:16:00 GMT 2013

Hi Janus,

Le 27/01/2013 19:49, Janus Weil a écrit :
>   subroutine sub (arg)
>      procedure(sub) :: arg
>    end subroutine
You forgot to precise that this case (which is basically comment #4 in 
the PR) is *not* fixed by the patch, as it fails later on at translation 
I have made up my mind that it's not possible for the middle-end to 
build such a recursive type.  So `arg' will have to have a variadic 
function type.  No patch yet, sorry; I have just figured it out.

> Anyway, should we bump the mod version with this patch, or should we
> rather avoid it?
I forgot the reason why we are so reluctant to do it.  Module versions 
are not a rare resource.  I'm in favor of bumping (and any time we 
change module format).

About the patch, one nit:

Index: gcc/fortran/gfortran.h
--- gcc/fortran/gfortran.h	(revision 195493)
+++ gcc/fortran/gfortran.h	(working copy)
@@ -974,8 +974,6 @@ typedef struct gfc_component
    struct gfc_component *next;

    /* Needed for procedure pointer components.  */
-  struct gfc_formal_arglist *formal;
-  struct gfc_namespace *formal_ns;
    struct gfc_typebound_proc *tb;

The comment should probably be removed as well.

 > The patch was regtested on x86_64-unknown-linux-gnu. Ok for trunk?
OK from my side;  you may or may not need someone else's ack as I'm the 
Or maybe wait for the fix for comment #4?


More information about the Gcc-patches mailing list