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

            Bug ID: 101919
           Summary: Inconsistent -Wstringop-overread warning with -flto
           Product: gcc
           Version: 11.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rimvydas.jas at gmail dot com
  Target Milestone: ---

$ cat gl_test.f90
program foo
implicit none
character(len=100) :: c =' '
if (c(1:12) == 'Accumulated ') c = c(13:len_trim(c))
end program

$ gfortran -Wall -Wextra gl_test.f90
$ gfortran -Wall -Wextra -flto gl_test.f90
gl_test.f90: In function 'foo':
gl_test.f90:4:52: warning: '__builtin_memmove' reading 100 bytes from a region
of size 88 [-Wstringop-overread]
    4 | if (c(1:12) == 'Accumulated ') c = c(13:len_trim(c))
      |                                                    ^
gl_test.f90:3:23: note: at offset 12 into source object 'c' of size 100
    3 | character(len=100) :: c =' '
      |                       ^

Reply via email to