OSDN Git Service

fortran/
authortobi <tobi@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 13 Jun 2005 18:23:46 +0000 (18:23 +0000)
committertobi <tobi@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 13 Jun 2005 18:23:46 +0000 (18:23 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100887 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/fortran/trans-stmt.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/forall_1.f90

index 4bd62d1..309aff1 100644 (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.
index 46a69d4..6670f54 100644 (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;
index 8fb457e..a0c560f 100644 (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
index e425c4c..35fcfdd 100644 (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