re PR libfortran/70684 (incorrect reading of values from file on Windows)
2016-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/70684 * io/list_read (eat_spaces): Eat '\r' as part of spaces. * gfortran.dg/namelist_90.f: New test From-SVN: r236628
This commit is contained in:
parent
85d5c27d78
commit
e3f365343f
@ -1,3 +1,8 @@
|
||||
2016-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR fortran/71123
|
||||
* gfortran.dg/namelist_90.f: New test
|
||||
|
||||
2016-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR fortran/66461
|
||||
|
28
gcc/testsuite/gfortran.dg/namelist_90.f
Normal file
28
gcc/testsuite/gfortran.dg/namelist_90.f
Normal file
@ -0,0 +1,28 @@
|
||||
! { dg-do run }
|
||||
! PR71123 Namelist read failure on Windows
|
||||
implicit none
|
||||
integer :: i, ierr
|
||||
real(8), dimension(30) :: senid, res
|
||||
character(2) :: crlf = char(13) // char(10)
|
||||
namelist /fith/ senid
|
||||
do i=1,30
|
||||
res(i) = i
|
||||
enddo
|
||||
senid = 99.0
|
||||
open(unit=7,file='test.out',form='formatted',
|
||||
* status='new',action='readwrite', access='stream')
|
||||
write(7,'(a)') "&fith" // crlf
|
||||
write(7,'(a)') "senid= 1.0 , 2.0 , 3.0 , 4.0 , 5.0 ," // crlf
|
||||
write(7,'(a)') "6.0 , 7.0 , 8.0 , 9.0 , 10.0 , 11.0 ," // crlf
|
||||
write(7,'(a)') "12.0 , 13.0 , 14.0 , 15.0 , 16.0 , 17.0 ," // crlf
|
||||
write(7,'(a)') "18.0 , 19.0 , 20.0 , 21.0 , 22.0 , 23.0 ," // crlf
|
||||
write(7,'(a)') "24.0 , 25.0 , 26.0 , 27.0 , 28.0 , 29.0 ," // crlf
|
||||
write(7,'(a)') "30.0 ," // crlf
|
||||
write(7,'(a)') "/" // crlf
|
||||
close(7)
|
||||
open(unit=7,file='test.out',form='formatted')
|
||||
read(7,nml=fith, iostat=ierr)
|
||||
close(7, status="delete")
|
||||
if (ierr.ne.0) call abort
|
||||
if (any(senid.ne.res)) call abort
|
||||
end
|
@ -1,8 +1,12 @@
|
||||
2016-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR libgfortran/70684
|
||||
* io/list_read (eat_spaces): Eat '\r' as part of spaces.
|
||||
|
||||
2016-04-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR libgfortran/70684
|
||||
* io/list_read (check_buffers): Add '\r' to check for end of line.
|
||||
factor.
|
||||
|
||||
2016-03-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
Dominique d'Humieres <dominiq@lps.ens.fr>
|
||||
|
@ -418,7 +418,7 @@ eat_spaces (st_parameter_dt *dtp)
|
||||
/* Now skip spaces, EOF and EOL are handled in next_char. */
|
||||
do
|
||||
c = next_char (dtp);
|
||||
while (c != EOF && (c == ' ' || c == '\t'));
|
||||
while (c != EOF && (c == ' ' || c == '\r' || c == '\t'));
|
||||
|
||||
unget_char (dtp, c);
|
||||
return c;
|
||||
|
Loading…
Reference in New Issue
Block a user