1c 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 49