https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108553
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Iain Sandoe from comment #3) > I'm trying to reproduce this - in the meantime does the obvious fix solve > the problem for you? > > diff --cc gcc/m2/gm2-lang.cc > index 4d9cae205a7,4d9cae205a7..a30e626620c > --- a/gcc/m2/gm2-lang.cc > +++ b/gcc/m2/gm2-lang.cc > @@@ -290,12 -290,12 +290,9 @@@ gm2_langhook_init_options (unsigned in > M2Options_SetVerbose (value); > /* FALLTHROUGH */ > default: > ++ /* We handled input files above. */ > if (code >= N_OPTS) > -- { > -- // FIXME remove debug. > -- fprintf(stderr, "%s : %s\n", opt, (arg ? arg : "")); > -- break; > -- } > ++ break; > /* Do not pass Modula-2 args to the preprocessor, any that we care > about here should already have been handled above. */ > if (option->flags & CL_ModulaX2) Yes, that fixes the ICE and produces cc1gm2: error: unrecognized command-line option '-Wereturn-type' btw, the 'opt' variable is unused after the removal