Kai Tietz reported that inquire_size.f90 fails on MinGW as inquire(... size=size) returns 0 instead of 3000.
Question 1: Why does gfortran always use "stat". Wouldn't it be better to use for open files: save = ftell(s) seek(s, 0, SEEK_END) size = ftell(s) seek (s, save, SEEK_SET Question 2: I fail to see how FLUSH actually works. It seems to work most of the time, but I probably miss something. I somehow had expected to see a call to fflush - but I only see this for STDIN/STDOUT/STDERR. For the others, I find: raw_flush == return 0; buf_flush: Some action, including lseek and raw_write (= unistd.h's write) The function is called via sflush. And the FLUSH statement is file_pos.c's st_flush: library_start (&fpp->common); u = find_unit (fpp->common.unit); if (u != NULL) { if (u->flags.form == FORM_FORMATTED) fbuf_flush (u, u->mode); sflush (u->s); unlock_unit (u); } [...] library_end (); Thus: I fail to see any fflush call for non-std(out/err/in) units. Did I miss something? -- Summary: I/O: FLUSH does not actually flush the buffer? Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44698