Commit 0e3b941e by Janus Weil

re PR fortran/44696 ([OOP] ASSOCIATED fails on polymorphic variables)

2010-06-29  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44696
	* trans-intrinsic.c (gfc_conv_associated): Handle polymorphic variables
	passed as second argument of ASSOCIATED.

2010-06-29  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44696
	* gfortran.dg/associated_target_4.f90: New.

From-SVN: r161554
parent 528b7aa4
2010-06-29 Janus Weil <janus@gcc.gnu.org>
PR fortran/44696
* trans-intrinsic.c (gfc_conv_associated): Handle polymorphic variables
passed as second argument of ASSOCIATED.
2010-06-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/44582
......
......@@ -4416,6 +4416,8 @@ gfc_conv_associated (gfc_se *se, gfc_expr *expr)
else
{
/* An optional target. */
if (arg2->expr->ts.type == BT_CLASS)
gfc_add_component_ref (arg2->expr, "$data");
ss2 = gfc_walk_expr (arg2->expr);
nonzero_charlen = NULL_TREE;
......
2010-06-29 Janus Weil <janus@gcc.gnu.org>
PR fortran/44696
* gfortran.dg/associated_target_4.f90: New.
2010-06-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/44582
......
! { dg-do run }
!
! PR 44696: [OOP] ASSOCIATED fails on polymorphic variables
!
! Original test case by Hans-Werner Boschmann <boschmann@tp1.physik.uni-siegen.de>
! Modified by Janus Weil <janus@gcc.gnu.org>
program rte1
implicit none
type::node_type
class(node_type),pointer::parent,child
integer::id
end type node_type
class(node_type),pointer::root
allocate(root)
allocate(root%child)
root%child%parent=>root
root%id=1
root%child%id=2
print *,root%child%id," is child of ",root%id,":"
print *,root%child%parent%id,root%id
if (.not. associated(root%child%parent,root)) call abort()
end program rte1
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