2011-02-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/47768
* resolve.c (resolve_transfer): Reject variables with procedure pointer
components.
2011-02-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/47768
* gfortran.dg/proc_ptr_comp_30.f90: New.
From-SVN: r170271
+2011-02-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47768
+ * resolve.c (resolve_transfer): Reject variables with procedure pointer
+ components.
+
2011-02-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/47767
return;
}
+ /* F08:C935. */
+ if (ts->u.derived->attr.proc_pointer_comp)
+ {
+ gfc_error ("Data transfer element at %L cannot have "
+ "procedure pointer components", &code->loc);
+ return;
+ }
+
if (ts->u.derived->attr.alloc_comp)
{
gfc_error ("Data transfer element at %L cannot have "
+2011-02-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47768
+ * gfortran.dg/proc_ptr_comp_30.f90: New.
+
2011-02-18 Jakub Jelinek <jakub@redhat.com>
PR debug/47780
--- /dev/null
+! { dg-do compile }
+!
+! PR 47768: ICE: printing a derived-type variable with proc-pointer components
+!
+! Contributed by Janus Weil <janus@gcc.gnu.org>
+
+type :: t
+ integer :: i = 3
+ procedure(type(t)), pointer, nopass :: ppc
+end type
+
+type(t) :: x
+
+print *,x ! { dg-error "cannot have procedure pointer components" }
+end