This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/54767] [4.7/4.8 Regression] Incorrect code generated with "-O2 -fcheck=bounds"
- From: "janus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 01 Oct 2012 18:22:40 +0000
- Subject: [Bug fortran/54767] [4.7/4.8 Regression] Incorrect code generated with "-O2 -fcheck=bounds"
- Auto-submitted: auto-generated
- References: <bug-54767-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54767
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |janus at gcc dot gnu.org
--- Comment #4 from janus at gcc dot gnu.org 2012-10-01 18:22:40 UTC ---
Here is a reduced test case, which shows the same behavior:
SUBROUTINE XXX (IL, IU)
implicit none
integer, INTENT(IN) :: IL, IU
integer :: NXX (3) = (/ 0, 1, 2 /)
integer :: ivvv, ia, iyyye, ja, iaii
logical :: qop, qvv
IYYYE=-1
QOP=.FALSE.
DO IA=IL,IU
JA=NXX(IA)
QVV=JA.GT.0
IF (.NOT. QOP .and. QVV) THEN
IAII=IA
ivvv=1
QOP=.TRUE.
ENDIF
IF (QOP) THEN
IF (QVV) THEN
ivvv=IA-IAII+1 ! mis-compiled
write(*,*) ia,ivvv
ELSE IF (IA+IYYYE<1) THEN
QOP=.FALSE.
IYYYE=0
ENDIF
ENDIF
ENDDO
write(*,*) ivvv==2
END subroutine
program p
implicit none
CALL XXX (1, 3)
end