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

anlauf at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |anlauf at gcc dot gnu.org

--- Comment #2 from anlauf at gcc dot gnu.org ---
Further reduced:

program foo
  implicit none
  character(len=100) :: c = ' ', d = ' '
  integer            :: i
  i = len_trim (c)
  d = c(13:i)
end program

We do not get a warning if the initialization of 'd' is removed,
i.e. it is changed from static to automatic.  The above gives:

pr101919.f90: In function 'foo':
pr101919.f90:6:13: warning: '__builtin_memcpy' reading 100 bytes from a region
of size 88 [-Wstringop-overread]
    6 |   d = c(13:i)
      |             ^
pr101919.f90:3:25: note: at offset 12 into source object 'c' of size 100
    3 |   character(len=100) :: c = ' ', d = ' '
      |                         ^

Reply via email to