http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53029
Bug #: 53029
Summary: missed optimization in internal read (without
implied-do-loop)
Classification: Unclassified
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: [email protected]
ReportedBy: [email protected]
Followup to Bug 32382.
!234567C234567
program internalread
implicit none
integer m
parameter(m=1000000)
character value*10
integer i,j,intvalues(m)
DO j=1,100
write(value,'(i3,a5)') j," 5 69"
write(*,*) value
!! read(value,*,end=20) (intvalues(i),i=1,m) ! this is BUG 32382
read(value,*,end=20) intvalues
20 write(*,*) j,(intvalues(i),i=1,4)
ENDDO
end program internalread
This version needs 2.7s on my box, the commented version
needs 0.27s (BUG 32382).
The array version is about 10x slower than the implied do loop variant.