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