... should add a record marker.
F 2003, 9.2.3.1:
If a nonadvancing output statement leaves a file positioned 1 within a current
record and no further output
statement is executed for the file before it is closed or a BACKSPACE, ENDFILE,
or REWIND statement
is executed for it, the effect is as if the output statement were the
corresponding advancing output
statement.
$ cat advance.f90
program main
open(95, form="formatted")
write (95, '(A)', advance="no") 'a'
backspace 95
end program main
$ gfortran advance.f90
$ ./a.out
$ cat fort.95
a$
--
Summary: file positioning after nonadvancing i/o
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: libfortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tkoenig at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34370