This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/34875] New: read into vector-valued section doesn't transfer any values
- From: "dick dot hendrickson at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 19 Jan 2008 20:40:32 -0000
- Subject: [Bug fortran/34875] New: read into vector-valued section doesn't transfer any values
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
With compiler
4.3.0 20080109 (experimental) [trunk revision 131426] (GCC)
vector valued reads into an array don't appear to read in values.
The test program prints out
kind of qda = 4
vector valued read failed
1 -100.000000 1.00000000
2 -100.000000 2.0000000
3 -100.000000 3.0000000
4 -100.000000 4.0000000
5 -100.000000 5.0000000
6 -100.000000 6.0000000
7 -100.000000 7.0000000
8 -100.000000 8.0000000
9 -100.000000 9.0000000
10 -100.000000 10.0000000
subscript range read succeeded
Dick Hendrickson
Program QH0008
REAL(4) QDA(10)
REAL(4) QDA1(10)
integer, dimension(10) :: nfv1 = (/1,2,3,4,5,6,7,8,9,10/)
qda1 = nfv1
qda = -100
print *, 'kind of qda = ', kind(qda)
OPEN (UNIT=47,
$ STATUS='SCRATCH',
$ FORM='UNFORMATTED',
$ ACTION='READWRITE')
ISTAT = -314
REWIND (47, IOSTAT = ISTAT)
IF ( ISTAT .NE. 0) THEN
stop ' FIRST REWIND FAILED '
ENDIF
ISTAT = -314
WRITE (47,IOSTAT = ISTAT) QDA1
IF ( ISTAT .NE. 0) THEN
stop ' WRITE FAILED '
ENDIF
ISTAT = -314
REWIND (47, IOSTAT = ISTAT)
IF ( ISTAT .NE. 0) THEN
stop ' SECOND REWIND FAILED '
ENDIF
READ (47,IOSTAT = ISTAT) QDA(NFV1)
IF ( ISTAT .NE. 0) THEN
stop ' READ FAILED '
ENDIF
IF ( ANY (QDA .ne. QDA1) ) then
print *, 'vector valued read failed'
DO I = 1,10
print *, I, qda(i), qda1(i)
enddo
else
print *, 'vector valued read succeeded'
endif
ISTAT = -314
REWIND (47, IOSTAT = ISTAT)
IF ( ISTAT .NE. 0) THEN
stop ' THIRD REWIND FAILED '
ENDIF
qda = -200
READ (47,IOSTAT = ISTAT) QDA(1:10)
IF ( ISTAT .NE. 0) THEN
stop ' READ FAILED '
ENDIF
IF ( ANY (QDA .ne. QDA1) ) then
print *, 'vector valued read failed'
DO I = 1,10
print *, I, qda(i), qda1(i)
enddo
else
print *, 'subscript range read succeeded'
endif
END
--
Summary: read into vector-valued section doesn't transfer any
values
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: dick dot hendrickson at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34875