From 6a38e151893f941011281cbf93581f8605d18005 Mon Sep 17 00:00:00 2001 From: Janus Weil Date: Thu, 8 Sep 2011 00:20:47 +0200 Subject: re PR fortran/48095 ([OOP] Invalid assignment to procedure pointer component not rejected) 2011-09-07 Janus Weil PR fortran/48095 * primary.c (gfc_match_structure_constructor): Handle parsing of procedure pointers components in structure constructors. * resolve.c (resolve_structure_cons): Check interface of procedure pointer components. Changed wording of some error messages. 2011-09-07 Janus Weil PR fortran/48095 * gfortran.dg/derived_constructor_comps_2.f90: Modified. * gfortran.dg/impure_constructor_1.f90: Modified. * gfortran.dg/proc_ptr_comp_33.f90: New. From-SVN: r178665 --- gcc/fortran/primary.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gcc/fortran/primary.c') diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c index 8f3c7e5..bccf7d4 100644 --- a/gcc/fortran/primary.c +++ b/gcc/fortran/primary.c @@ -2418,7 +2418,10 @@ gfc_match_structure_constructor (gfc_symbol *sym, gfc_expr **result, } /* Match the current initializer expression. */ + if (this_comp->attr.proc_pointer) + gfc_matching_procptr_assignment = 1; m = gfc_match_expr (&comp_tail->val); + gfc_matching_procptr_assignment = 0; if (m == MATCH_NO) goto syntax; if (m == MATCH_ERROR) -- cgit v1.1