[Bug libfortran/34328] New: access="stream",form="formatted" doesn't buffer
tkoenig at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Dec 3 20:04:00 GMT 2007
$ cat write_formatted_stream.f90
program main
implicit none
integer :: i
open(2003,form="formatted",access="stream")
do i=1,100
write (2003,'(A)') 'a'
end do
end program main
$ gfortran write_formatted_stream.f90
$ strace -e write,read,_llseek ./a.out
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\311\0"..., 512) = 512
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`4\0\000"..., 512) =
512
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\30"..., 512) = 512
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260a\1"..., 512) = 512
_llseek(0, 0, 0xbfd03200, SEEK_CUR) = -1 ESPIPE (Illegal seek)
_llseek(1, 0, 0xbfd031f0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
_llseek(2, 0, 0xbfd031f0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
_llseek(3, 0, [0], SEEK_CUR) = 0
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
write(3, "a\n", 2) = 2
Process 4205 detached
--
Summary: access="stream",form="formatted" doesn't buffer
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: missed-optimization
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=34328
More information about the Gcc-bugs
mailing list