[Bug fortran/41242] [4.5 Regression] procedure pointer rejected (related to user-defined assignment?)
pault at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sun Sep 6 07:04:00 GMT 2009
------- Comment #3 from pault at gcc dot gnu dot org 2009-09-06 07:04 -------
(In reply to comment #2)
Why there is a dependence on the preceding statement, I have no idea. However,
expr_type is not being set to EXPR_PPC, as the following shows (causes lots of
failures by the way :-()
Index: gcc/fortran/resolve.c
===================================================================
--- gcc/fortran/resolve.c (revision 151449)
+++ gcc/fortran/resolve.c (working copy)
@@ -5101,6 +5101,7 @@
gfc_resolve_expr (gfc_expr *e)
{
gfc_try t;
+ gfc_component *comp;
if (e == NULL)
return SUCCESS;
@@ -5113,6 +5114,9 @@
case EXPR_FUNCTION:
case EXPR_VARIABLE:
+ if (gfc_is_proc_ptr_comp (e, &comp)
+ && (resolve_expr_ppc (e) == SUCCESS))
+ return SUCCESS;
if (check_host_association (e))
t = resolve_function (e);
I strongly suspect the patch of code in primary.c (gfc_match_varspec) that
deals with these things but I cannot quite see why at the present.
Paul
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41242
More information about the Gcc-bugs
mailing list