Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/char_pointer_comp_assign.f90 @ 128:fe568345ddd5
fix CbC-example
author | mir3636 |
---|---|
date | Wed, 11 Apr 2018 19:32:28 +0900 |
parents | 04ced10e8804 |
children | 84e7813d76e9 |
line wrap: on
line source
! { dg-do run } ! This test the fix of PR18283, where assignments of scalar, ! character pointer components of derived types caused an ICE. ! It also checks that the array counterparts remain operational. ! Contributed by Paul Thomas pault@gcc.gnu.org ! program char_pointer_comp_assign implicit none type :: dt character (len=4), pointer :: scalar character (len=4), pointer :: array(:) end type dt type (dt) :: a character (len=4), target :: scalar_t ="abcd" character (len=4), target :: array_t(2) = (/"abcd","efgh"/) ! Do assignments first allocate (a%scalar, a%array(2)) a%scalar = scalar_t if (a%scalar /= "abcd") call abort () a%array = array_t if (any(a%array /= (/"abcd","efgh"/))) call abort () deallocate (a%scalar, a%array) ! Now do pointer assignments. a%scalar => scalar_t if (a%scalar /= "abcd") call abort () a%array => array_t if (any(a%array /= (/"abcd","efgh"/))) call abort () end program char_pointer_comp_assign