+2006-06-18 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR fortran/26801
+ * trans-intrinsic.c (gfc_conv_associated): Use pre and post blocks
+ of the scalarization expression.
+
2006-06-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/19310
gfc_conv_expr_lhs (&arg1se, arg1->expr);
tmp2 = gfc_conv_descriptor_data_get (arg1se.expr);
}
+ gfc_add_block_to_block (&se->pre, &arg1se.pre);
+ gfc_add_block_to_block (&se->post, &arg1se.post);
tmp = build2 (NE_EXPR, boolean_type_node, tmp2,
fold_convert (TREE_TYPE (tmp2), null_pointer_node));
se->expr = tmp;
gfc_conv_expr (&arg1se, arg1->expr);
arg2se.want_pointer = 1;
gfc_conv_expr (&arg2se, arg2->expr);
+ gfc_add_block_to_block (&se->pre, &arg1se.pre);
+ gfc_add_block_to_block (&se->post, &arg1se.post);
tmp = build2 (EQ_EXPR, boolean_type_node, arg1se.expr, arg2se.expr);
se->expr = tmp;
}
+2006-06-18 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR fortran/26801
+ * gfortran.dg/associated_4.f90: New test.
+
2006-06-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/19310
--- /dev/null
+! { dg-do run }
+! PR fortran/26801
+ implicit none
+
+ integer :: i
+ integer,target :: u
+ logical :: l
+ character(len=8) :: A
+ type dt
+ integer, pointer :: a => NULL()
+ end type dt
+ type(dt) :: obj(2)
+
+ i = 2
+ l = associated(obj(i)%a)
+ write(A,*) l
+ l = associated(obj(i)%a,u)
+ print *, l
+ write(A,*) l
+end