Hi Jerry,

Am 26.03.24 um 04:18 schrieb Jerry D:
Hi all,

There has been a bit of discussio on which way to go on this.

I took a look today and this trivial patch gives the behavior concluded
on Fortran Discourse. See the bugzilla for all the relevant information.

Regresion tested on x86-64.

I will do the appropriate changelog.

OK for trunk?

Attached is a new test case and the patch here:

diff --git a/libgfortran/io/file_pos.c b/libgfortran/io/file_pos.c
index 2bc05b293f8..d169961f997 100644
--- a/libgfortran/io/file_pos.c
+++ b/libgfortran/io/file_pos.c
@@ -352,7 +352,6 @@ st_endfile (st_parameter_filepos *fpp)
           dtp.common = fpp->common;
           memset (&dtp.u.p, 0, sizeof (dtp.u.p));
           dtp.u.p.current_unit = u;
-         next_record (&dtp, 1);
         }

        unit_truncate (u, stell (u->s), &fpp->common);

this is OK from my side.

Given the discussion on "dg-do  run", wouldn't this be a perfect
example where it is sufficient to run the testcase just once?

The change is in libgfortran, not in the frontend or middle-end.

Thanks for the patch!

Harald

Reply via email to