http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54107
--- Comment #5 from janus at gcc dot gnu.org 2012-07-29 20:54:21 UTC --- (In reply to comment #4) > I would assume that this is invalid, since the declaration of > compute_routine's > interface is somehow 'recursive', i.e. referring to itself. ... however, I could not find anything in the standard that would prohibit it. And also Bob Corbett claims that it is valid in the c.l.f. thread mentioned in comment #0. The problem is that we generate an infinite chain of symbols: 'compute_routine' has a formal argument 'zfunc', which itself has an argument 'zfunc', and so on. Certainly, gfc_copy_formal_args plays a role in this process, but also resolve_formal_arglist is involved.