mirror of git://gcc.gnu.org/git/gcc.git
re PR fortran/69668 (Error reading namelist opened with DELIM='NONE')
2016-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/69668 * io/list_read.c (read_character): Remove code related to DELIM_NONE. PR libgfortran/69668 * gfortran.dg/namelist_38.f90: Update test. * gfortran.dg/namelist_84.f90: Update test. From-SVN: r233387
This commit is contained in:
parent
876217ae71
commit
955ca6dc77
|
|
@ -1,3 +1,9 @@
|
||||||
|
2016-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR libgfortran/69668
|
||||||
|
* gfortran.dg/namelist_38.f90: Update test.
|
||||||
|
* gfortran.dg/namelist_84.f90: Update test.
|
||||||
|
|
||||||
2016-02-12 David Malcolm <dmalcolm@redhat.com>
|
2016-02-12 David Malcolm <dmalcolm@redhat.com>
|
||||||
|
|
||||||
PR other/69554
|
PR other/69554
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
program main
|
program main
|
||||||
implicit none
|
implicit none
|
||||||
character(len=3) :: a
|
character(len=3) :: a
|
||||||
|
character(25) :: b
|
||||||
namelist /foo/ a
|
namelist /foo/ a
|
||||||
|
|
||||||
open(10, status="scratch", delim="quote")
|
open(10, status="scratch", delim="quote")
|
||||||
|
|
@ -28,9 +29,12 @@ program main
|
||||||
open(10, status="scratch", delim="none")
|
open(10, status="scratch", delim="none")
|
||||||
a = "a'a"
|
a = "a'a"
|
||||||
write(10,foo)
|
write(10,foo)
|
||||||
rewind 10
|
rewind (10)
|
||||||
a = ""
|
read(10,"(a)") b
|
||||||
read (10,foo)
|
if (b .ne. "&FOO") call abort
|
||||||
if (a.ne."a'a") call abort
|
read(10,"(a)") b
|
||||||
close (10)
|
if (b .ne. " A=a'a") call abort
|
||||||
|
read(10,"(a)") b
|
||||||
|
if (b .ne. " /") call abort
|
||||||
|
close(10)
|
||||||
end program main
|
end program main
|
||||||
|
|
|
||||||
|
|
@ -17,12 +17,11 @@ program namelist_delim_none
|
||||||
write(10, mylist)
|
write(10, mylist)
|
||||||
rewind(10)
|
rewind(10)
|
||||||
mystring = "xxxxx"
|
mystring = "xxxxx"
|
||||||
read(10,mylist)
|
|
||||||
if (any(mystring /= (/ 'mon', 'tue', 'wed', 'thu', 'fri' /))) call abort
|
|
||||||
rewind(10)
|
rewind(10)
|
||||||
do i=1,5
|
do i=1,5
|
||||||
read(10,'(a)') internal_unit
|
read(10,'(a)') internal_unit
|
||||||
if (scan(internal_unit,"""'").ne.0) call abort
|
if (i.eq.2 .and. internal_unit .ne. " MYSTRING=mon tue wed thu fri ,") call abort
|
||||||
|
if (scan(internal_unit,"""'").ne.0) print *, internal_unit
|
||||||
end do
|
end do
|
||||||
close(10)
|
close(10)
|
||||||
end program
|
end program
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2016-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR libgfortran/69668
|
||||||
|
* io/list_read.c (read_character): Remove code related to DELIM_NONE.
|
||||||
|
|
||||||
2016-01-23 John David Anglin <danglin@gcc.gnu.org>
|
2016-01-23 John David Anglin <danglin@gcc.gnu.org>
|
||||||
|
|
||||||
PR libfortran/68744
|
PR libfortran/68744
|
||||||
|
|
|
||||||
|
|
@ -1131,21 +1131,6 @@ read_character (st_parameter_dt *dtp, int length __attribute__ ((unused)))
|
||||||
default:
|
default:
|
||||||
if (dtp->u.p.namelist_mode)
|
if (dtp->u.p.namelist_mode)
|
||||||
{
|
{
|
||||||
if (dtp->u.p.current_unit->delim_status == DELIM_NONE)
|
|
||||||
{
|
|
||||||
/* No delimiters so finish reading the string now. */
|
|
||||||
int i;
|
|
||||||
push_char (dtp, c);
|
|
||||||
for (i = dtp->u.p.ionml->string_length; i > 1; i--)
|
|
||||||
{
|
|
||||||
if ((c = next_char (dtp)) == EOF)
|
|
||||||
goto done_eof;
|
|
||||||
push_char (dtp, c);
|
|
||||||
}
|
|
||||||
dtp->u.p.saved_type = BT_CHARACTER;
|
|
||||||
free_line (dtp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
unget_char (dtp, c);
|
unget_char (dtp, c);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue