! { dg-do run }
! Tests the fix for PR33998, in which the chain of expressions
! determining the character length of my_string were not being
! resolved by the formal to actual mapping.
!
! Contributed by Tobias Burnus <burnus@gcc.gnu.org>
!
module test
   implicit none
   contains
      function my_string(x)
         integer i
         real, intent(in) :: x(:)
         character(0) h4(1:minval([(i,i=30,32), 15]))
         character(0) sv1(size(x,1):size(h4))
         character(0) sv2(2*lbound(sv1,1):size(h4))
         character(lbound(sv2,1)-3) my_string

         do i = 1, len(my_string)
            my_string(i:i) = achar(modulo(i-1,10)+iachar('0'))
         end do
      end function my_string
end module test

program len_test
   use test
   implicit none
   real x(7)

   if (my_string(x) .ne. "01234567890") STOP 1
end program len_test
