http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44978
janus at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|extended derived types are |derived types are resolved |resolved more than once |more than once --- Comment #3 from janus at gcc dot gnu.org --- For another example, see PR 51945. In this case, the double resolution seems to be related to the default initialization. So, there are at least three distinct causes of multiple resolution of type symbols: 1) type extension 2) type-bound procedures 3) default initialization To get rid of all of them, I would propose to use the gfc_symbol.resolved field (this is already done for ordinary symbols in 'resolve_symbol'). For derived types, however, one may have to add another value of this flag (other than '0' and '1') to distinguish between the two different resolution levels of resolve_fl_derived0 vs resolve_fl_derived.