Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/gfortran.dg/move_alloc_13.f90 @ 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/move_alloc_13.f90 Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,39 @@ +! { dg-do run } +! +! PR fortran/51970 +! PR fortran/51977 +! +type t +end type t +type, extends(t) :: t2 + integer :: a +end type t2 + +class(t), allocatable :: y(:), z(:) + +allocate(y(2), source=[t2(2), t2(3)]) +call func2(y,z) + +select type(z) + type is(t2) + if (any (z(:)%a /= [2, 3])) call abort() + class default + call abort() +end select + +contains + function func(x) + class (t), allocatable :: x(:), func(:) + call move_alloc (x, func) + end function + + function func1(x) + class (t), allocatable :: x(:), func1(:) + call move_alloc (func1, x) + end function + + subroutine func2(x, y) + class (t), allocatable :: x(:), y(:) + call move_alloc (x, y) + end subroutine +end