re PR fortran/41978 ([F03] ICE in gfc_conv_expr_descriptor for array PPC assignment)

2009-11-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41978
	* resolve.c (resolve_ref): Take care of procedure pointer component
	references.


2009-11-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41978
	* gfortran.dg/proc_ptr_comp_22.f90: New test.

From-SVN: r154107
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index d9a53e2..f3fce1b 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -4275,7 +4275,9 @@
 	case REF_COMPONENT:
 	  if (current_part_dimension || seen_part_dimension)
 	    {
-	      if (ref->u.c.component->attr.pointer)
+	      /* F03:C614.  */
+	      if (ref->u.c.component->attr.pointer
+		  || ref->u.c.component->attr.proc_pointer)
 		{
 		  gfc_error ("Component to the right of a part reference "
 			     "with nonzero rank must not have the POINTER "