https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63535

            Bug ID: 63535
           Summary: SELECT TYPE shouldn't pass ALLOCATABLE/POINTER
                    attribute through
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Keywords: accepts-invalid
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org

>From https://groups.google.com/forum/#!topic/comp.lang.fortran/mv0SN_T_2xI

The following compiles and write "1", but it should be rejected. (Printing 1
instead of "2" is also odd from a user perspective.)

Quoting Wolfgang Kilian:

"The attributes of the associating entity are listed in 8.1.3.3 of the
F2008 standard.  (Maybe some other clauses also apply.)  The ALLOCATABLE
attribute is not among the possible attributes for the associating
entity.  (Neither is POINTER.)"


program test
     class(*), allocatable :: a(:)

     allocate(real :: a(1))

     select type(a)
       type is(real)
         deallocate(a)
         allocate(a(2))
       class default
         stop "error"
     end select

     print *,size(a)
end

Reply via email to