https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126303
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I think
--- gcc/fortran/frontend-passes.cc.jj 2026-05-30 17:45:09.410109457 +0200
+++ gcc/fortran/frontend-passes.cc 2026-07-17 16:21:37.711207843 +0200
@@ -2778,6 +2778,9 @@ inner_loop_may_be_skipped (int loop_inde
if (loop == NULL || loop->ext.iterator == NULL ||
loop->ext.iterator->var == NULL)
return true;
+ if (loop->ext.iterator->var->n.symtree->ts.type != BT_INTEGER)
+ return true;
+
if (!evaluate_loop_bound (loop->ext.iterator->step, outer_sym,
outer_val, do_step))
return true;
should fix this.