To avoid confusion between multiple loops, a new loop field is added to the gfc_ss (patch 35). Then we can remove superfluous loop argument in function interfaces: - set_vector_loop_bounds (patch 36) - gfc_trans_array_constructor (patch 37) - gfc_trans_create_temp_array (patch 39) Patch 38 prepares patch 39 by adding a new variable total_dim which will be the sum of multiple nested loop dimensions so that the number of loop usages (through loop.dimen) is reduced. OK?