diff gcc/testsuite/gfortran.dg/class_array_4.f03 @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gfortran.dg/class_array_4.f03	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,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