[Bug fortran/52724] New: Internal read with character(kind=4) data
tkoenig at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Mar 26 13:10:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52724
Bug #: 52724
Summary: Internal read with character(kind=4) data
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: tkoenig@gcc.gnu.org
This code in io/unit.c looks fishy:
/* Set initial values for unit parameters. */
if (dtp->common.unit)
{
iunit->s = open_internal4 (dtp->internal_unit - start_record,
dtp->internal_unit_len, -start_record);
fbuf_init (iunit, 256);
}
else
iunit->s = open_internal (dtp->internal_unit - start_record,
dtp->internal_unit_len, -start_record);
because it supposes that an internal unit for character(kind=4) data
has an internal unit number which is unequal to zero.
And, in fact, this fails:
ig25@linux-fd1f:~/Krempel/Opt> cat foo.f90
!234567
character buffer4(100)
integer i
buffer4 = 4_'123'
read(buffer4,*) i
print *,i
end
ig25@linux-fd1f:~/Krempel/Opt> gfortran foo.f90
ig25@linux-fd1f:~/Krempel/Opt> ./a.out
1
More information about the Gcc-bugs
mailing list