[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 
stage.
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;
  }
  gfc_component;

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 
coauthor.
Or maybe wait for the fix for comment #4?

Mikael



More information about the Gcc-patches mailing list