]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays.
authorMikael Morin <mikael@gcc.gnu.org>
Thu, 3 Nov 2011 21:14:19 +0000 (21:14 +0000)
committerMikael Morin <mikael@gcc.gnu.org>
Thu, 3 Nov 2011 21:14:19 +0000 (21:14 +0000)
* trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays.

From-SVN: r180853

gcc/fortran/ChangeLog
gcc/fortran/trans-array.c

index e9d3f813d32ab4a3960430941bb819adf1ee50b5..c0fe2c0bb03d3f0ce63e658d267f09820acf2389 100644 (file)
@@ -1,3 +1,7 @@
+2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
+
+       * trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays.
+
 2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
 
        * trans-array.c (gfc_conv_ss_startstride): Access array bounds along
index f4d8a8543272727c7768761a3149b0cad6d768db..cfbe9095c49fb3283bec4d0ebe44b8538d19ad6a 100644 (file)
@@ -3881,7 +3881,12 @@ gfc_conv_loop_setup (gfc_loopinfo * loop, locus * where)
         loop for this dimension.  We try to pick the simplest term.  */
       for (ss = loop->ss; ss != gfc_ss_terminator; ss = ss->loop_chain)
        {
-         if (ss->type == GFC_SS_SCALAR || ss->type == GFC_SS_REFERENCE)
+         gfc_ss_type ss_type;
+
+         ss_type = ss->type;
+         if (ss_type == GFC_SS_SCALAR
+             || ss_type == GFC_SS_TEMP
+             || ss_type == GFC_SS_REFERENCE)
            continue;
 
          info = &ss->data.info;