http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59727
kargl at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kargl at gcc dot gnu.org --- Comment #2 from kargl at gcc dot gnu.org --- (In reply to Dominique d'Humieres from comment #1) > This is due to r166180: > > Author: jb > Date: Tue Nov 2 12:56:38 2010 UTC (3 years, 2 months ago) > Changed paths: 4 > Log Message: PR 45629 Remove usage of setjmp/longjmp Note, it may not be a regression, but I need to find time to go read the standard. Consider the modified program: CHARACTER*40 LINE, msg LINE(1:20)=' 12,30.0,10.5,0 ' print *, '>',trim(line),'<' READ (LINE,*,err=10,iomsg=msg) I1,R1,R2,I2 WRITE (*,1000) I1,R1,R2,I2 10 print *, i1, r1, r2, i1, msg 1000 FORMAT (I4,2F10.1,I4) END troutmask:sgk[206] gfc4x -o z p.f && ./z > 12,30.0,10.5,0 @Õÿÿÿ< At line 8 of file p.f Fortran runtime error: End of file After the assignment to line(1:20), I don't remember if the standard requires the remaining space to be blank padded. The problem is that line(21:40) contains whatever is in memory as demonstrated by the 'print *,...' statement. I suspect that we are missing a eat_line() (or whatever the function is named). One workaround is to set line='' as the first line of code.