Does anybody know, how tabulator formatting is supposed to work when writing formatted files with stream access? Using the following trivial program, I get different file contents with different compilers.
program tabformat
implicit none
integer :: fd
open(newunit=fd, file="test.stream.txt", access="stream", form="formatted")
write(fd, "(a)") "1234567890123"
write(fd, "(a, t10, a)") "1234", "0123"
close(fd)
end program tabformat
Two compilers give the same output as obtained with sequential
access (with all three compilers):
1234567890123
1234 0123
but for the stream
access, the third one writes
1234567890123
1234 0123
instead.
Is that a compiler bug? Or is the tab-formatting simply ill-defined (processor dependent) for stream I/O, as it refers to positions in the current record, but the stream-access is not record based?