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

Reply via email to