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.

Reply via email to