Consider the following test case: type :: t1 type(xy),pointer :: c end type t1
type, extends(t1) :: t2 end type type, extends(t2) :: t3 end type end This is correctly rejected with: type(xy),pointer :: c 1 Error: The pointer component 'c' of 't1' at (1) is a type that has not been declared The problem is that the error message occurs three times (or even more, if one adds further types which extend upon t1), because resolve_fl_derived is called more than once for the base type. -- Summary: extended derived types are resolved more than once Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: diagnostic Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: janus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44978