SUBROUTINE XXX (IL, IU)
  implicit none
  integer, INTENT(IN) :: IL, IU

  integer :: NXX (14) = (/ 0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14 /)
  integer :: ivvv, ia, ja, iaii
  logical :: qop

  QOP=.FALSE.

  DO IA=IL,IU
    JA=NXX(IA)
    IF (.NOT. QOP .and. JA.GT.0) THEN
      IAII=IA
      QOP=.TRUE.
    ENDIF

    IF (QOP) THEN
      ivvv=IA-IAII+1       ! mis-compiled
    ENDIF
  ENDDO

  IF (ivvv.NE.2) THEN
    call abort
  ENDIF
END subroutine

program p
  implicit none
  CALL XXX (1, 3)
end
