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

Reply via email to