re PR fortran/22038 (Forall with mask broken)

fortran/
2005-06-13  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/22038
	* trans-stmt.c (gfc_trans_forall_loop): Only increment maskindex
	in the innermost loop.

testsuite/
2005-06-13  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>

	PR fortran/22038
	* gfortran.dg/forall_1.f90: Un-XFAIL.

From-SVN: r100887
This commit is contained in:
Tobias Schlüter 2005-06-13 20:23:46 +02:00
parent 8fe4d24beb
commit a8e12e4d75
4 changed files with 16 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2005-06-13 Jakub Jelinek <jakub@redhat.com>
PR fortran/22038
* trans-stmt.c (gfc_trans_forall_loop): Only increment maskindex
in the innermost loop.
2005-06-12 Richard Henderson <rth@redhat.com>
* trans-array.c (gfc_conv_descriptor_data_get): Rename from
@ -18,7 +24,7 @@
* trans-array.h (gfc_conv_descriptor_data_get): Declare.
(gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): Declare.
2005-06-11 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
2005-06-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
* trans-expr.c (gfc_conv_variable): POINTER results don't need f2c
calling conventions. Look at sym instead of sym->result.

View File

@ -1364,8 +1364,9 @@ gfc_trans_forall_loop (forall_info *forall_tmp, int nvar, tree body, int mask_fl
tmp = build2 (PLUS_EXPR, TREE_TYPE (var), var, step);
gfc_add_modify_expr (&block, var, tmp);
/* Advance to the next mask element. */
if (mask_flag)
/* Advance to the next mask element. Only do this for the
innermost loop. */
if (n == 0 && mask_flag)
{
mask = forall_tmp->mask;
maskindex = forall_tmp->maskindex;

View File

@ -1,3 +1,8 @@
2005-06-13 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/22038
* gfortran.dg/forall_1.f90: Un-XFAIL.
2005-06-13 Nathan Sidwell <nathan@codesourcery.com>
PR c++/21929

View File

@ -1,6 +1,5 @@
! { dg-do run { xfail *-*-* } }
! { dg-do run }
! tests FORALL statements with a mask
! unfortunately, this is broken, PR 22038
dimension i2(15,10), i1(15)
type a
sequence