aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/class_array_4.f03
blob: 46b254db676ed7d0e66f4347e2b9fc582deefb25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
! { dg-do run }
! PR43214 - implementation of class arrays
!
! Contributed by Tobias Burnus  <burnus@gcc.gnu.org>
!
module m
  type t
    real :: r = 99
  contains
    procedure, pass :: foo => foo
  end type t
contains
  elemental subroutine foo(x, i)
    class(t),intent(in) :: x
    integer,intent(inout) :: i
    i = x%r + i
  end subroutine foo
end module m

  use m
  type(t) :: x(3)
  integer :: n(3) = [0,100,200]
  call x(:)%foo(n)
  if (any(n .ne. [99,199,299])) call abort
end