https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95053
anlauf at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |anlauf at gcc dot gnu.org --- Comment #4 from anlauf at gcc dot gnu.org --- Even shorter and simpler (no linebreak needed): SUBROUTINE MNSTIN () * Adding a comma before or after the "/" avoids the ICE 132 FORMAT ('A'/'B') END Running this under gdb and setting a breakpoint in gfc_divide, it appears to really divide characters: (gdb) p op1->ts.type $3 = BT_CHARACTER (gdb) p op2->ts.type $4 = BT_CHARACTER What's going on here? Most likely there's something latent in parsing FORMAT().