I have updated my compiler to the latest released fortran and compiled my code. Immediately I started getting crashes when reading unformatted sequential binary files; the complaint is that a record has too little data. My binary data files have not changed for a decade. Neither did the source code.
If I change the compilation of a source file that does the reading from /O3 to /Od the code runs fine. Reading the generated assembler I can see that the code is quite different between these, but without documentation for for_read_seq and for_read_seq_xmit I cannot find the bug myself.
I am using Fortran 16.0 Update 3, x64 code.
I can simplify this to a single file that demonstrates the problem. Please let me know what to do with it. (How/where to post, etc.)
Has anyone else seen such a thing?
I would like to get back to work without waiting for a new release to fix the problem. Turning off optimization is an obvious workaround, but I cannot afford to turn it off globally, and it would not be nice to have to change compile options on the dozens of individual source files that read binary data. I am wondering how far I should roll back the compiler...