re PR libfortran/19071 (complex formatted output has too many items)
2004-12-23 Bud Davis <bdavis9659@comcast.net> PR fortran/19071 * io/tranfer.c (formatted_transfer): moved check for format reversion inside the processing loop. * gfortran.dg/complex_write.f90: New test. From-SVN: r92582
This commit is contained in:
parent
4a9dd33d4b
commit
5d3a981694
|
@ -1,3 +1,8 @@
|
||||||
|
2004-12-23 Bud Davis <bdavis9659@comcast.net>
|
||||||
|
|
||||||
|
PR fortran/19071
|
||||||
|
* gfortran.dg/complex_write.f90: New test.
|
||||||
|
|
||||||
2004-12-23 Mark Mitchell <mark@codesourcery.com>
|
2004-12-23 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
PR c++/17595
|
PR c++/17595
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
! { dg-do run }
|
||||||
|
! pr 19071
|
||||||
|
! test case provided by
|
||||||
|
! Thomas.Koenig@online.de
|
||||||
|
program cio
|
||||||
|
complex a
|
||||||
|
real r1,r2
|
||||||
|
a = cmplx(1.0, 2.0)
|
||||||
|
open(unit=74,status='scratch')
|
||||||
|
write(74,'(1P,E13.5)'),a
|
||||||
|
rewind(74)
|
||||||
|
! can read the complex in as two reals, one on each line
|
||||||
|
read(74,'(E13.5)')r1,r2
|
||||||
|
if (r1.ne.1.0 .and. r2.ne.2.0) call abort
|
||||||
|
end
|
|
@ -1,3 +1,9 @@
|
||||||
|
2004-12-23 Bud Davis <bdavis9659@comcast.net>
|
||||||
|
|
||||||
|
PR fortran/19071
|
||||||
|
* io/tranfer.c (formatted_transfer): moved check for
|
||||||
|
format reversion inside the processing loop.
|
||||||
|
|
||||||
2004-12-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
|
2004-12-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
|
||||||
|
|
||||||
PR libfortran/19074
|
PR libfortran/19074
|
||||||
|
|
|
@ -425,16 +425,16 @@ formatted_transfer (bt type, void *p, int len)
|
||||||
if (type == BT_COMPLEX)
|
if (type == BT_COMPLEX)
|
||||||
type = BT_REAL;
|
type = BT_REAL;
|
||||||
|
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
/* If reversion has occurred and there is another real data item,
|
/* If reversion has occurred and there is another real data item,
|
||||||
then we have to move to the next record. */
|
then we have to move to the next record. */
|
||||||
|
|
||||||
if (g.reversion_flag && n > 0)
|
if (g.reversion_flag && n > 0)
|
||||||
{
|
{
|
||||||
g.reversion_flag = 0;
|
g.reversion_flag = 0;
|
||||||
next_record (0);
|
next_record (0);
|
||||||
}
|
}
|
||||||
for (;;)
|
|
||||||
{
|
|
||||||
consume_data_flag = 1 ;
|
consume_data_flag = 1 ;
|
||||||
if (ioparm.library_return != LIBRARY_OK)
|
if (ioparm.library_return != LIBRARY_OK)
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue