C { dg-do run }
C
C PR rtl-optimization/25603
C Check if reload handles REG_INC notes correctly.
      PROGRAM BAR
      IMPLICIT REAL (A-H, O-Z)
      DIMENSION WORK(250)

      XSTART = 201.0

      CALL BAR1(NX,NY,NZ,NT,NTIME,NWINDX,NWINDY,NSINKS,NFILT,
     *XSTART,YSTART,ZSTART,TSTART,DELTAX,DELTAY,DELTAZ,DELTAT,PHI,DL,
     *DX,DY,DZ,WORK,IB,IK,ITY,NCOUNT,NPRINT,NGRAPH,NPSTEP,NGSTEP)
      STOP
      END

      SUBROUTINE BAR2(NX,NY,NZ,NT,NTIME,NWINDX,ISH,NSMT,NFILT,
     * XSTART,YSTART,ZSTART,TSTART,DELTAX,DELTAY,DELTAZ,DELTAT,PHI,DL,
     * DX,DY,DZ,IB,IK,ITY,NCOUNT,NPRINT,NGRAPH,NPSTEP,NGSTEP,LFINAL,
     * C,STEPC,POTT,STEPT,UX,STEPU,VY,STEPV,WZ,PRES,STEPP,Q,DKZM,DKZH,
     * ELEV,ELEVX,ELEVY,Z0,HMIX,STEPH,TAVR,OBUK,USTR,TSTR,VDEP,DEP,
     * ZET,HVAR,UM,VM,UG,VG,TM,DKM,DCDX,DCDY,AN,BN,CN,HELP,HELPA)
      IMPLICIT REAL (A-H, O-Z)

      DIMENSION  C(*),STEPC(*),POTT(*),STEPT(*),UX(*),STEPU(*),
     * VY(*),STEPV(*),WZ(*),PRES(*),STEPP(*),Q(*),DKZM(*),DKZH(*),
     * ELEV(*),ELEVX(*),ELEVY(*),Z0(*),HMIX(*),STEPH(*),TAVR(*),
     * OBUK(*),USTR(*),TSTR(*),VDEP(*), DEP(*),ZET(*),HVAR(*),
     * UM(*),VM(*),UG(*),VG(*),TM(*),DKM(*), DCDX(*),DCDY(*),
     * AN(*),BN(*),CN(*),HELP(*),HELPA(*)
C

      RETURN
      END

      SUBROUTINE BAR1(NX,NY,NZ,NT,NTIME,NWINDX,NWINDY,NSINKS,NFILT,
     *XSTART,YSTART,ZSTART,TSTART,DELTAX,DELTAY,DELTAZ,DELTAT,PHI,DL,
     *DX,DY,DZ,WORK,IB,IK,ITY,NCOUNT,NPRINT,NGRAPH,NPSTEP,NGSTEP)

      IMPLICIT REAL (A-H, O-Z)
      DIMENSION  WORK(*)

      if (XSTART .NE. 201.0) then
       call abort
      endif

      LHELPA = 1
      LHELP = 1
      LCN = 1
      LBN = 1
      LAN = 1
      LDCDY = 1
      LDCDX = 1
      LKM = 1
      LTM = 1
      LVG = 1
      LUG = 1
      LVM = 1
      LUM = 1
      LHVAR = 1
      LZET = 1
      LDEP = 1
      LVDEP = 1
      LTSTR = 1
      LUSTR = 1
      LOBUK = 1
      LTAVR = 1
      LSTEPH = 1
      LHMIX = 1
      LZ0 = 1
      LELEVY = 1
      LELEVX = 1
      LELEV = 1
      LDKZH = 1
      LDKZM = 1
      LQ = 1
      LPSTEP = 1
      LPI = 1
      LWZ = 1
      LVSTEP = 1
      LVY = 1
      LUSTEP = 1
      LUX = 1
      LTSTEP = 1
      LPOT = 1
      LCSTEP = 1
      LC = 1

      CALL BAR2(NX,NY,NZ,NT,NTIME,NWINDX,NWINDY,NSINKS,NFILT,XSTART,
     * YSTART,ZSTART,TSTART,DELTAX,DELTAY,DELTAZ,DELTAT,PHI,DL,
     * DX,DY,DZ,IB,IK,ITY,NCOUNT,NPRINT,NGRAPH,NPSTEP,NGSTEP,LAST,
     * WORK(LC),WORK(LCSTEP),WORK(LPOT),WORK(LTSTEP),WORK(LUX),
     * WORK(LUSTEP),WORK(LVY),WORK(LVSTEP),WORK(LWZ),WORK(LPI),
     * WORK(LPSTEP),WORK(LQ),WORK(LDKZM),WORK(LDKZH),WORK(LELEV),
     * WORK(LELEVX),WORK(LELEVY),WORK(LZ0),WORK(LHMIX),WORK(LSTEPH),
     * WORK(LTAVR),WORK(LOBUK),WORK(LUSTR),WORK(LTSTR),WORK(LVDEP),
     * WORK(LDEP),WORK(LZET),WORK(LHVAR),WORK(LUM),WORK(LVM),WORK(LUG),
     * WORK(LVG),WORK(LTM),WORK(LKM),WORK(LDCDX),WORK(LDCDY),WORK(LAN),
     * WORK(LBN),WORK(LCN),WORK(LHELP),WORK(LHELPA))

      RETURN
      END
