The code clearing specloop in gfc_conv_loop_setup would need some explanation. This patch moves it to gfc_trans_create_temp_array (where the reason for it are more clear) with a proper comment. OK?