aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDave Love <fx@gcc.gnu.org>1998-04-19 11:49:56 +0000
committerDave Love <fx@gcc.gnu.org>1998-04-19 11:49:56 +0000
commitd9695db87f8707832ce801018ee33eeb6fea2565 (patch)
treed4c5b4251cea42dd739752eded3c58d1a6e33c95 /gcc
parent08fbf99d634dd593a8af2fd78a7185df1a8006b1 (diff)
downloadgcc-d9695db87f8707832ce801018ee33eeb6fea2565.zip
gcc-d9695db87f8707832ce801018ee33eeb6fea2565.tar.gz
gcc-d9695db87f8707832ce801018ee33eeb6fea2565.tar.bz2
New test.
From-SVN: r19300
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/g77.f-torture/compile/980419-2.f48
1 files changed, 48 insertions, 0 deletions
diff --git a/gcc/testsuite/g77.f-torture/compile/980419-2.f b/gcc/testsuite/g77.f-torture/compile/980419-2.f
new file mode 100644
index 0000000..ac9134d
--- /dev/null
+++ b/gcc/testsuite/g77.f-torture/compile/980419-2.f
@@ -0,0 +1,48 @@
+c SEGVs in loop.c with -O2.
+
+ character*80 function nxtlin(lun,ierr,itok)
+ character onechr*1,twochr*2,thrchr*3
+ itok=0
+ do while (.true.)
+ read (lun,'(a)',iostat=ierr) nxtlin
+ if (nxtlin(1:1).ne.'#') then
+ ito=0
+ do 10 it=1,79
+ if (nxtlin(it:it).ne.' ' .and. nxtlin(it+1:it+1).eq.' ')
+ $ then
+ itast=0
+ itstrt=0
+ do itt=ito+1,it
+ if (nxtlin(itt:itt).eq.'*') itast=itt
+ enddo
+ itstrt=ito+1
+ do while (nxtlin(itstrt:itstrt).eq.' ')
+ itstrt=itstrt+1
+ enddo
+ if (itast.gt.0) then
+ nchrs=itast-itstrt
+ if (nchrs.eq.1) then
+ onechr=nxtlin(itstrt:itstrt)
+ read (onechr,*) itokn
+ elseif (nchrs.eq.2) then
+ twochr=nxtlin(itstrt:itstrt+1)
+ read (twochr,*) itokn
+ elseif (nchrs.eq.3) then
+ thrchr=nxtlin(itstrt:itstrt+2)
+ read (thrchr,*) itokn
+ elseif (nchrs.eq.4) then
+ thrchr=nxtlin(itstrt:itstrt+3)
+ read (thrchr,*) itokn
+ endif
+ itok=itok+itokn
+ else
+ itok=itok+1
+ endif
+ ito=it+1
+ endif
+ 10 continue
+ return
+ endif
+ enddo
+ return
+ end