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

Reply via email to