I'm curious if others would consider the following to be a bug.
Given the following code:
program test845887 character(12) :: input real(8) :: value input = ' 8.45887E-01' read(input,"(d12.5)") value write(*,"(es24.16)") value end program
The output is different depending on whether it is compiled for 32 or 64 bit architectures:
tom$ ifort -m32 read32or64.f90
tom$ ./a.out
8.4588700000000006E-01
tom$ ifort -m64 read32or64.f90
tom$ ./a.out
8.4588699999999994E-01
tom$ ifort -V
Intel(R) Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 15.0.7.234 Build 20160519
Normally when I see differences that depend on addressing, I suspect a bug in my code. But after 2 days of tracing through my code, it turns out to be an I/O issue.
Thoughts?