Commit 80bcbc80 by Tobias Burnus Committed by Tobias Burnus

re PR libfortran/31915 (Failure with unf_io_convert_3.f90)

2007-05-15  Tobias Burnus  <burnus@net-b.de>

        PR libfortran/31915
        * io/transfer.c (unformatted_read): Use proper size for real(10).
          (unformatted_write): Ditto.

From-SVN: r124741
parent ca0bfd10
2007-05-15 Tobias Burnus <burnus@net-b.de>
PR libfortran/31915
* io/transfer.c (unformatted_read): Use proper size for real(10).
(unformatted_write): Ditto.
2007-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 2007-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/30723 PR fortran/30723
......
...@@ -721,12 +721,13 @@ unformatted_read (st_parameter_dt *dtp, bt type, ...@@ -721,12 +721,13 @@ unformatted_read (st_parameter_dt *dtp, bt type,
p = dest; p = dest;
/* By now, all complex variables have been split into their /* By now, all complex variables have been split into their
constituent reals. For types with padding, we only need to constituent reals. */
read kind bytes. We don't care about the contents
of the padding. If we hit a short record, then sz is
adjusted accordingly, making later reads no-ops. */
if (type == BT_REAL || type == BT_COMPLEX)
sz = size_from_real_kind (kind);
else
sz = kind; sz = kind;
for (i=0; i<nelems; i++) for (i=0; i<nelems; i++)
{ {
read_block_direct (dtp, buffer, &sz); read_block_direct (dtp, buffer, &sz);
...@@ -767,11 +768,13 @@ unformatted_write (st_parameter_dt *dtp, bt type, ...@@ -767,11 +768,13 @@ unformatted_write (st_parameter_dt *dtp, bt type,
p = source; p = source;
/* By now, all complex variables have been split into their /* By now, all complex variables have been split into their
constituent reals. For types with padding, we only need to constituent reals. */
read kind bytes. We don't care about the contents
of the padding. */
if (type == BT_REAL || type == BT_COMPLEX)
sz = size_from_real_kind (kind);
else
sz = kind; sz = kind;
for (i=0; i<nelems; i++) for (i=0; i<nelems; i++)
{ {
reverse_memcpy(buffer, p, size); reverse_memcpy(buffer, p, size);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment