2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+ * trans-array.c (constant_array_constructor_loop_size):
+ Handle multiple loops.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (get_rank, get_loop_upper_bound_for_array):
+ New functions.
+ (gfc_trans_array_constructor): Handle multiple loops.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_loopinfo): New field parent.
+ * trans-array.c (gfc_cleanup_loop): Free nested loops.
+ (gfc_add_ss_to_loop): Set nested_loop's parent loop.
+ (gfc_trans_array_constructor): Update assertion.
+ (gfc_conv_loop_setup): Ditto.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_add_loop_ss_code): Skip non-nestedmost ss.
+ Call recursively gfc_add_loop_ss_code for all the nested loops.
+ (gfc_conv_ss_startstride): Only get the descriptor for the outermost
+ ss. Call recursively gfc_conv_ss_startstride for all the nested loops.
+ (set_loop_bounds): Call recursively for all the nested loops.
+ (set_delta): Ditto.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
* trans.h (struct gfc_loopinfo): New fields nested and next.
* trans-array.c (gfc_add_ss_to_loop): Update list of nested list if
ss has non-null nested_ss field.