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