OSDN Git Service

2004-07-17 Jeroen Frijters <jeroen@frijters.net>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g77.f-torture / compile / 980419-2.f
1 c     SEGVs in loop.c with -O2.
2
3       character*80 function nxtlin(lun,ierr,itok)
4       character onechr*1,twochr*2,thrchr*3
5       itok=0
6       do while (.true.)
7          read (lun,'(a)',iostat=ierr) nxtlin
8          if (nxtlin(1:1).ne.'#') then
9             ito=0
10             do 10 it=1,79
11                if (nxtlin(it:it).ne.' ' .and. nxtlin(it+1:it+1).eq.' ')
12      $              then
13                   itast=0
14                   itstrt=0
15                   do itt=ito+1,it
16                      if (nxtlin(itt:itt).eq.'*') itast=itt
17                   enddo
18                   itstrt=ito+1
19                   do while (nxtlin(itstrt:itstrt).eq.' ')
20                      itstrt=itstrt+1
21                   enddo
22                   if (itast.gt.0) then
23                      nchrs=itast-itstrt
24                      if (nchrs.eq.1) then
25                         onechr=nxtlin(itstrt:itstrt)
26                         read (onechr,*) itokn
27                      elseif (nchrs.eq.2) then
28                         twochr=nxtlin(itstrt:itstrt+1)
29                         read (twochr,*) itokn
30                      elseif (nchrs.eq.3) then
31                         thrchr=nxtlin(itstrt:itstrt+2)
32                         read (thrchr,*) itokn
33                      elseif (nchrs.eq.4) then
34                         thrchr=nxtlin(itstrt:itstrt+3)
35                         read (thrchr,*) itokn
36                      endif
37                      itok=itok+itokn
38                   else
39                      itok=itok+1
40                   endif
41                   ito=it+1
42                endif
43  10         continue
44             return
45          endif
46       enddo
47       return
48       end