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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
If in the testcase I change the penultimate line to:
  l = 32 .in. to_upper(str)
so that an error is emitted, the 64-bit little-endian f951 emits:
Error: Operands of user operator ‘in’ at (1) are INTEGER(4)/CHARACTER(0)
where the (0) doesn't really reflect the reality either, it is CHARACTER(8) if
it would see through the call.
Another case where 64-bit little-endian f951 reports CHARACTER(0), for assumed
length, etc.:
subroutine bar (str)
  use fortran_strings, only : to_upper, operator(.in.)
  character(len=*) str
  logical l
  l = 32 .in. to_upper(str)
end subroutine bar

Reply via email to