1c { dg-do compile }
2c { dg-options "-std=legacy" }
3c
4c     SEGVs in loop.c with -O2.
5
6      character*80 function nxtlin(lun,ierr,itok)
7      character onechr*1,twochr*2,thrchr*3
8      itok=0
9      do while (.true.)
10         read (lun,'(a)',iostat=ierr) nxtlin
11         if (nxtlin(1:1).ne.'#') then
12            ito=0
13            do 10 it=1,79
14               if (nxtlin(it:it).ne.' ' .and. nxtlin(it+1:it+1).eq.' ')
15     $              then
16                  itast=0
17                  itstrt=0
18                  do itt=ito+1,it
19                     if (nxtlin(itt:itt).eq.'*') itast=itt
20                  enddo
21                  itstrt=ito+1
22                  do while (nxtlin(itstrt:itstrt).eq.' ')
23                     itstrt=itstrt+1
24                  enddo
25                  if (itast.gt.0) then
26                     nchrs=itast-itstrt
27                     if (nchrs.eq.1) then
28                        onechr=nxtlin(itstrt:itstrt)
29                        read (onechr,*) itokn
30                     elseif (nchrs.eq.2) then
31                        twochr=nxtlin(itstrt:itstrt+1)
32                        read (twochr,*) itokn
33                     elseif (nchrs.eq.3) then
34                        thrchr=nxtlin(itstrt:itstrt+2)
35                        read (thrchr,*) itokn
36                     elseif (nchrs.eq.4) then
37                        thrchr=nxtlin(itstrt:itstrt+3)
38                        read (thrchr,*) itokn
39                     endif
40                     itok=itok+itokn
41                  else
42                     itok=itok+1
43                  endif
44                  ito=it+1
45               endif
46 10         continue
47            return
48         endif
49      enddo
50      return
51      end
52