https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77382
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- If this is invalid Fortran, it should be diagnosed somewhere during resolve.c and not make it the translation phase. There for the "s" symbol which is a subroutine is first given a FUNCTION_DECL as backend_decl, but later on in create_function_arglist where the same symbol (without attr.dummy being set) appears in the argument list the backend_decl is overwritten and becomes a PARM_DECL, which then confuses everything.