Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/alloc_comp_auto_array_2.f90 @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
! { dg-do run } ! Tests the fix for PR34820, in which the nullification of the ! automatic array iregion occurred in the caller, rather than the ! callee. Since 'nproc' was not available, an ICE ensued. During ! the bug fix, it was found that the scalar to array assignment ! of derived types with allocatable components did not work and ! the fix of this is tested too. ! ! Contributed by Toon Moene <toon@moene.indiv.nluug.nl> ! module grid_io type grid_index_region integer, allocatable::lons(:) end type grid_index_region contains subroutine read_grid_header() integer :: npiece = 1 type(grid_index_region),allocatable :: iregion(:) allocate (iregion(npiece + 1)) call read_iregion(npiece,iregion) if (size(iregion) .ne. npiece + 1) STOP 1 if (.not.allocated (iregion(npiece)%lons)) STOP 2 if (allocated (iregion(npiece+1)%lons)) STOP 3 if (any (iregion(npiece)%lons .ne. [(i, i = 1, npiece)])) STOP 4 deallocate (iregion) end subroutine read_grid_header subroutine read_iregion (nproc,iregion) integer,intent(in)::nproc type(grid_index_region), intent(OUT)::iregion(1:nproc) integer :: iarg(nproc) iarg = [(i, i = 1, nproc)] iregion = grid_index_region (iarg) ! end subroutine read_iregion end module grid_io use grid_io call read_grid_header end