re PR libfortran/30014 (INQUIRE (iolength = xx) limited to kind=4)

2006-12-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/30014
	*io/io.h (st_parameter_dt): Change *size and *iolength type to
	GFC_IO_INT.
	*io/transfer.c (finalize_transfer): Cast dtp->u.p.size_used to
	GFC_IO_INT.  (iolength_transfer): Cast size * nelems to GFC_IO_INT.

From-SVN: r120234
This commit is contained in:
Jerry DeLisle 2006-12-28 01:40:23 +00:00
parent 3415f51159
commit cf79465213
3 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2006-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/30014
*io/io.h (st_parameter_dt): Change *size and *iolength type to
GFC_IO_INT.
*io/transfer.c (finalize_transfer): Cast dtp->u.p.size_used to
GFC_IO_INT. (iolength_transfer): Cast size * nelems to GFC_IO_INT.
2006-12-17 Tobias Burnus <burnus@net-b.de>
* intrinsics/associated.c: Check for associated(NULL,NULL).

View File

@ -354,7 +354,7 @@ typedef struct st_parameter_dt
{
st_parameter_common common;
GFC_IO_INT rec;
GFC_INTEGER_4 *size, *iolength;
GFC_IO_INT *size, *iolength;
gfc_array_char *internal_unit_desc;
CHARACTER1 (format);
CHARACTER2 (advance);

View File

@ -2539,7 +2539,7 @@ finalize_transfer (st_parameter_dt *dtp)
GFC_INTEGER_4 cf = dtp->common.flags;
if ((dtp->common.flags & IOPARM_DT_HAS_SIZE) != 0)
*dtp->size = (GFC_INTEGER_4) dtp->u.p.size_used;
*dtp->size = (GFC_IO_INT) dtp->u.p.size_used;
if (dtp->u.p.eor_condition)
{
@ -2615,7 +2615,7 @@ iolength_transfer (st_parameter_dt *dtp, bt type __attribute__((unused)),
size_t size, size_t nelems)
{
if ((dtp->common.flags & IOPARM_DT_HAS_IOLENGTH) != 0)
*dtp->iolength += (GFC_INTEGER_4) size * nelems;
*dtp->iolength += (GFC_IO_INT) size * nelems;
}