This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/34328] New: access="stream",form="formatted" doesn't buffer
- From: "tkoenig at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 Dec 2007 20:04:39 -0000
- Subject: [Bug libfortran/34328] New: access="stream",form="formatted" doesn't buffer
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
$ 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