summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/allocate_deferred_char_scalar_2.f03
blob: 1f0f433010516739a58ceacca9bc146a22274dc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
! { dg-do run }
! Test the fix for PR47519, in which the character length was not
! calculated for the SOURCE expressions below and an ICE resulted. 
!
! Contributed by Tobias Burnus  <burnus@gcc.gnu.org>
!
program note7_35
   implicit none
   character(:), allocatable :: name
   character(:), allocatable :: src
   integer n
   n = 10
   allocate(name, SOURCE=repeat('x',n))
   if (name .ne. 'xxxxxxxxxx') call abort
   if (len (name) .ne. 10 ) call abort
   deallocate(name)
   src = 'xyxy'
   allocate(name, SOURCE=repeat(src,n))
   if (name(37:40) .ne. 'xyxy') call abort
   if (len (name) .ne. 40 ) call abort
end program note7_35