[Bug fortran/27757] Problems with direct access io
tkoenig at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat May 27 19:11:00 GMT 2006
------- Comment #10 from tkoenig at gcc dot gnu dot org 2006-05-27 19:10 -------
This bug does not occur with g77, as this version of the
test program shows:
$ cat testdirect.f
program testdirect
implicit none
integer a (100)
integer i,j,k,ier
real x
integer myrand(100)
data myrand / 13, 9, 34, 41, 25, 98, 6, 12, 11, 44, 79, 3,
& 64, 61, 77, 57, 59, 2, 92, 38, 71, 64, 31, 60, 28, 90, 26,
& 97, 47, 26, 48, 96, 95, 82, 100, 90, 45, 71, 71, 67, 72,
& 76, 94, 49, 85, 45, 100, 22, 96, 48, 13, 23, 40, 14, 76, 99,
& 96, 90, 65, 2, 8, 60, 96, 19, 45, 1, 100, 48, 91, 20, 92,
& 72, 81, 59, 24, 37, 43, 21, 54, 68, 31, 19, 79, 63, 41,
& 42, 12, 10, 62, 43, 9, 30, 9, 54, 35, 4, 5, 55, 3, 94 /
do i=1,100
a(i) = 0
end do
C call random_seed()
open(unit=15,file="testdirectio",access="direct",
& form="unformatted",recl=4)
do i=1,100
k = myrand(i)
! k= int(x * 100)+1
a(i)=k
write(unit=15, rec=k) k
end do
do j=1,100
read(unit=15, rec=a(j), iostat=ier) k
if (ier.ne.0) then
print *, "No Record: ", j
else
if (a(j) .ne. k) print *, "Bad Record at ",a(j), k
endif
enddo
close(unit=15, status="delete")
end
$ g77 testdirect.f
$ ./a.out
$ gfortran testdirect.f
$ ./a.out
Bad Record at 13 14
Bad Record at 34 0
Bad Record at 25 26
Bad Record at 98 99
Bad Record at 6 11
Bad Record at 11 0
Bad Record at 44 45
Bad Record at 64 65
Bad Record at 61 0
Bad Record at 77 0
Bad Record at 57 59
Bad Record at 2 0
Bad Record at 38 0
Bad Record at 71 72
Bad Record at 64 65
Bad Record at 60 0
Bad Record at 28 0
Bad Record at 90 98
Bad Record at 26 34
Bad Record at 97 0
Bad Record at 47 48
Bad Record at 26 34
Bad Record at 96 97
Bad Record at 95 96
Bad Record at 82 0
Bad Record at 90 98
Bad Record at 45 0
Bad Record at 71 72
Bad Record at 71 72
Bad Record at 67 0
Bad Record at 76 0
Bad Record at 49 0
Bad Record at 85 0
Bad Record at 45 0
Bad Record at 22 23
Bad Record at 96 97
Bad Record at 13 14
Bad Record at 23 0
Bad Record at 40 0
Bad Record at 14 0
Bad Record at 76 0
Bad Record at 99 100
Bad Record at 96 97
Bad Record at 90 98
Bad Record at 65 0
Bad Record at 2 0
Bad Record at 8 0
Bad Record at 60 0
Bad Record at 96 97
Bad Record at 45 0
$ g77 -v
Reading specs from /usr/lib/gcc/i486-linux-gnu/3.4.6/specs
Configured with: ../src/configure -v --enable-languages=c,c++,f77,pascal
--prefix=/usr --libexecdir=/usr/lib --with-gxx-include-dir=/usr/include/c++/3.4
--enable-shared --with-system-zlib --enable-nls --without-included-gettext
--program-suffix=-3.4 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --with-tune=i686 i486-linux-gnu
Thread model: posix
gcc version 3.4.6 (Debian 3.4.6-1)
$ gfortran -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../../gcc/trunk/configure --prefix=/home/ig25
--enable-languages=c,fortran
Thread model: posix
gcc version 4.2.0 20060525 (experimental)
--
tkoenig at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tkoenig at gcc dot gnu dot
| |org
OtherBugsDependingO| |19292
nThis| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27757
More information about the Gcc-bugs
mailing list