+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>
PR fortran/30723
p = dest;
/* By now, all complex variables have been split into their
- constituent reals. For types with padding, we only need to
- 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. */
+ constituent reals. */
- sz = kind;
+ if (type == BT_REAL || type == BT_COMPLEX)
+ sz = size_from_real_kind (kind);
+ else
+ sz = kind;
+
for (i=0; i<nelems; i++)
{
read_block_direct (dtp, buffer, &sz);
p = source;
/* By now, all complex variables have been split into their
- constituent reals. For types with padding, we only need to
- read kind bytes. We don't care about the contents
- of the padding. */
+ constituent reals. */
+
+ if (type == BT_REAL || type == BT_COMPLEX)
+ sz = size_from_real_kind (kind);
+ else
+ sz = kind;
- sz = kind;
for (i=0; i<nelems; i++)
{
reverse_memcpy(buffer, p, size);