2017-02-20 Paul Thomas <pault@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gfortran.dg / deferred_type_param_4.f90
blobc0583f5686c1d28a144f8fc28dc0c314cdc108cc
1 ! { dg-do run }
3 ! PR fortran/51055
4 ! PR fortran/49110
7 program test
8 implicit none
9 character(len=:), allocatable :: str
10 integer :: i
11 i = 5
12 str = f()
13 call printIt ()
14 i = 7
15 str = repeat('X', i)
16 call printIt ()
17 contains
18 function f()
19 character(len=i) :: f
20 f = '1234567890'
21 end function f
22 subroutine printIt
23 ! print *, len(str)
24 ! print '(3a)', '>',str,'<'
25 if (i == 5) then
26 if (str /= "12345" .or. len(str) /= 5) call abort ()
27 else if (i == 7) then
28 if (str /= "XXXXXXX" .or. len(str) /= 7) call abort ()
29 else
30 call abort ()
31 end if
32 end subroutine
33 end