diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2006-01-01 02:45:22 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2006-01-01 02:45:22 +0000 |
commit | a7c633eaef3354361d72f73db2220b26344a6649 (patch) | |
tree | d0b04be9a0afea1e4ce5d1e72f591e48a9881d3b /libgfortran/io | |
parent | cfcbf84624e2cf1a42844b65af14aebef991bdcc (diff) | |
download | gcc-a7c633eaef3354361d72f73db2220b26344a6649.zip gcc-a7c633eaef3354361d72f73db2220b26344a6649.tar.gz gcc-a7c633eaef3354361d72f73db2220b26344a6649.tar.bz2 |
re PR libfortran/25594 (LAPACK regression in schkbl.f)
2005-12-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/25594
PR libgfortran/25419
* io/list_read.c (list_formatted_read_scalar): Test for comma to return
a null value (default). Revert patch of 25419 on 2005-12-28.
From-SVN: r109211
Diffstat (limited to 'libgfortran/io')
-rw-r--r-- | libgfortran/io/list_read.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c index 879cf8f..793f0e2 100644 --- a/libgfortran/io/list_read.c +++ b/libgfortran/io/list_read.c @@ -1353,7 +1353,16 @@ list_formatted_read_scalar (st_parameter_dt *dtp, bt type, void *p, int kind, { /* Found a null value. */ eat_separator (dtp); dtp->u.p.repeat_count = 0; - goto cleanup; + + /* eat_separator sets this flag if the separator was a comma */ + if (dtp->u.p.comma_flag) + goto cleanup; + + /* eat_separator sets this flag if the separator was a \n or \r */ + if (dtp->u.p.at_eol) + finish_separator (dtp); + else + goto cleanup; } } |