At revision r229288 compiling the following test

  implicit none

  type :: template_t
     integer :: type
     character(256) :: charset1, charset2
     integer :: len1, len2
  end type template_t

contains

  subroutine match_quoted (tt, s, n, range)
    type(template_t), intent(in) :: tt
    character(*), intent(in) :: s
    integer, intent(out) :: n
    integer, dimension(2), intent(out) :: range
    character(tt%len1) :: ch1
    character(tt%len2) :: ch2
    integer :: i
    ch1 = tt%charset1
    if (s(1:tt%len1) == ch1) then
       ch2 = tt%charset2
       do i = tt%len1 + 1, len (s) - tt%len2 + 1
          if (s(i:i+tt%len2-1) == ch2) then
             n = i + tt%len2 - 1
             range(1) = tt%len1 + 1
             range(2) = i - 1
             return
          end if
       end do
       n = -1
       range = 0
    else
       n = 0
       range = 0
    end if
  end subroutine match_quoted

end

gives the following errors

pr40440_red_1.f90:16:14:

     character(tt%len1) :: ch1
              1
Error: Scalar INTEGER expression expected at (1)
pr40440_red_1.f90:17:14:

     character(tt%len2) :: ch2
              1
Error: Scalar INTEGER expression expected at (1)
pr40440_red_1.f90:19:7:

     ch1 = tt%charset1
       1
Error: Symbol 'ch1' at (1) has no IMPLICIT type
pr40440_red_1.f90:21:10:

        ch2 = tt%charset2
          1
Error: Symbol 'ch2' at (1) has no IMPLICIT type

while it compiles without error at r229261.

TIA

Dominique

Reply via email to