[Bug fortran/50069] FORALL fails on a character array

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Aug 17 08:25:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50069

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011-08-17
     Ever Confirmed|0                           |1
      Known to fail|                            |4.1.2, 4.3.4, 4.4.0, 4.5.1,
                   |                            |4.6.1, 4.7.0

--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-08-17 08:21:34 UTC ---
Draft patch:

diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c
index a911a5b..7d85413 100644
--- a/gcc/fortran/trans-stmt.c
+++ b/gcc/fortran/trans-stmt.c
@@ -2452,6 +2452,9 @@ forall_make_variable_temp (gfc_code *c, stmtblock_t *pre,
stmtblock_t *post)
          tmp = gfc_conv_array_offset (old_sym->backend_decl);
          gfc_conv_descriptor_offset_set (pre, tse.expr, tmp);
        }
+      else
+       gfc_conv_descriptor_offset_set (pre, tse.expr,
+               build_int_cst (gfc_array_index_type, -1));
     }
   else
     {



More information about the Gcc-bugs mailing list