https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66929

--- Comment #3 from Mikael Morin <mikael at gcc dot gnu.org> ---
Reduced test:

module iso_varying_string
  type, public :: varying_string
     character(LEN=1), dimension(:), allocatable :: chars
  end type varying_string
  interface operator(/=)
     module procedure op_ne_VS_CH
  end interface operator (/=)
  interface trim
     module procedure trim_
  end interface
contains
  elemental function op_ne_VS_CH (string_a, string_b) result (op_ne)
    type(varying_string), intent(in) :: string_a
    character(LEN=*), intent(in)     :: string_b
    logical                          :: op_ne
  end function op_ne_VS_CH
  elemental function trim_ (string) result (trim_string)
    type(varying_string), intent(in) :: string
    type(varying_string)             :: trim_string
  end function trim_
end module iso_varying_string
module syntax_rules
  use iso_varying_string, string_t => varying_string
contains
  subroutine set_rule_type_and_key ()
    type(string_t) :: key
    if (trim (key) /= "") then
    end if
  end subroutine set_rule_type_and_key
end module syntax_rules

Reply via email to