1! { dg-do compile }
2! PR46356 - class arrays
3!
4! Contributed by Ian Harvey
5!
6MODULE procedure_intent_nonsense
7  IMPLICIT NONE
8  PRIVATE
9  TYPE, PUBLIC :: Parent
10    INTEGER :: comp
11  END TYPE Parent
12
13  TYPE :: ParentVector
14    INTEGER :: a
15    ! CLASS(Parent), ALLOCATABLE :: a
16  END TYPE ParentVector
17CONTAINS
18  SUBROUTINE vector_operation(pvec)
19    CLASS(ParentVector), INTENT(INOUT) :: pvec(:)
20    INTEGER :: i
21    !---
22    DO i = 1, SIZE(pvec)
23      CALL item_operation(pvec(i))
24    END DO
25    ! PRINT *, pvec(1)%a%comp
26  END SUBROUTINE vector_operation
27
28  SUBROUTINE item_operation(pvec)
29    CLASS(ParentVector), INTENT(INOUT) :: pvec
30    !TYPE(ParentVector), INTENT(INOUT) :: pvec
31  END SUBROUTINE item_operation
32END MODULE procedure_intent_nonsense
33