Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/gfortran.dg/allocate_alloc_opt_10.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/allocate_alloc_opt_10.f90 Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,46 @@ +! { dg-do run } +! +! PR 43388: [F2008][OOP] ALLOCATE with MOLD= +! +! Contributed by Janus Weil <janus@gcc.gnu.org> + +type :: t1 + integer :: i +end type + +type,extends(t1) :: t2 + integer :: j = 4 +end type + +class(t1),allocatable :: x,y +type(t2) :: z + + +!!! first example (static) + +z%j = 5 +allocate(x,MOLD=z) + +select type (x) +type is (t2) + print *,x%j + if (x%j/=4) call abort + x%j = 5 +class default + call abort() +end select + + +!!! second example (dynamic, PR 44541) + +allocate(y,MOLD=x) + +select type (y) +type is (t2) + print *,y%j + if (y%j/=4) call abort +class default + call abort() +end select + +end