Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / gfortran.dg / func_derived_1.f90
blob5160e5ae7f238596f8bc8d32d9e6bb1e75164cb4
1 ! { dg-do run }
2 ! PR 17244
3 ! verifies that functions returning derived type work
4 module m
5 type t
6 integer i
7 real x
8 character*5 c
9 integer arr(5,5)
10 end type t
11 end module m
13 use m
14 type(t) :: r
15 integer arr(5,5), vect(25), vect2(25)
16 do i=1,25
17 vect = 0
18 vect(i) = i
19 arr = reshape (vect, shape(arr))
20 r = f(i,real(i),"HALLO",arr)
22 if (r%i .ne. i) call abort()
23 if (r%x .ne. real(i)) call abort()
24 if (r%c .ne. "HALLO") call abort()
25 vect2 = reshape (r%arr, shape(vect2))
26 if (any(vect2.ne.vect)) call abort()
27 end do
28 contains
30 function f(i,x,c,arr)
31 type(t) :: f
32 character*5 c
33 integer arr(5,5)
35 f = t(i,x,c,arr)
36 end function f
38 end