>From the Fortran 2003 standard:

C817 (R823) For a given select-type-construct, the same type and kind type
parameter values shall not be specified in more than one TYPE IS
type-guard-stmt and shall not be specified in more than one CLASS IS
type-guard-stmt.

This check is missing for CLASS IS blocks, as the following program is
currently accepted (by the fortran-dev branch):

 type :: t
  integer :: i
 end type

 CLASS(t),pointer :: x

 select type (x)
 class is (t)
  print *,"a"
 class is (t)
  print *,"b"
 end select

end


-- 
           Summary: [OOP] SELECT TYPE: reject duplicate CLASS IS blocks
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Keywords: accepts-invalid
          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=42053

Reply via email to