diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2006-02-22 16:59:45 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2006-02-22 08:59:45 -0800 |
commit | e3a26d2fc577210675f407a3ac8083cc22fe3150 (patch) | |
tree | bbf4b6d7d49fbbaef1bea9cfea9b3ef7afdf596d /gcc | |
parent | d7f755c32d60c929a383026345d302dddd831a23 (diff) | |
download | gcc-e3a26d2fc577210675f407a3ac8083cc22fe3150.zip gcc-e3a26d2fc577210675f407a3ac8083cc22fe3150.tar.gz gcc-e3a26d2fc577210675f407a3ac8083cc22fe3150.tar.bz2 |
re PR target/25603 (Miscompiled FORTRAN program)
2006-02-22 H.J. Lu <hongjiu.lu@intel.com>
PR target/25603
* gfortran.dg/pr25603.f: New testcase.
From-SVN: r111365
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr25603.f | 60 |
2 files changed, 65 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d206ded..6d36553 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-02-22 H.J. Lu <hongjiu.lu@intel.com> + + PR target/25603 + * gfortran.dg/pr25603.f: New testcase. + 2006-02-22 Nathan Sidwell <nathan@codesourcery.com> * gcc.dg/bf-spl1.c: Don't specify -m68000. diff --git a/gcc/testsuite/gfortran.dg/pr25603.f b/gcc/testsuite/gfortran.dg/pr25603.f new file mode 100644 index 0000000..80a062b --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr25603.f @@ -0,0 +1,60 @@ +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 + + 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 |