Commit 357f98e5 by Janus Weil

re PR fortran/47768 (ICE: printing a derived-type variable with proc-pointer components)

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
parent abfea58d
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
* gfortran.h (gfc_check_access): Removed prototype.
(gfc_check_symbol_access): Added prototype.
......
......@@ -8091,6 +8091,14 @@ resolve_transfer (gfc_code *code)
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
......
! { 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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment