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

            Bug ID: 83650
           Summary: [7/8 Regression]  Wrong simplification in cshift with
                    negative shifts
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tkoenig at gcc dot gnu.org
  Target Milestone: ---

Discovered investigating a "failure" in my current work on the
cshift patch:

program main
  integer, dimension(5), parameter :: b = [1,2,3,4,5]
  integer, dimension(5) :: a = [1,2,3,4,5]
  print *,cshift(a, -4)
  print *,cshift(b, -4)
end program main

yields:

           2           3           4           5           1
           1           2           3           4           5

The first result (run-time) is correct.

I will fix this with my upcoming 8 patch for cshift, but it
will still be necessary to correct this on the previous branches.
Should be rather easy.

Reply via email to