From a7c633eaef3354361d72f73db2220b26344a6649 Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Sun, 1 Jan 2006 02:45:22 +0000 Subject: [PATCH] re PR libfortran/25594 (LAPACK regression in schkbl.f) 2005-12-31 Jerry DeLisle 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 --- libgfortran/ChangeLog | 7 +++++++ libgfortran/io/list_read.c | 11 ++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index d60193afb58..efd38f64cb5 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,10 @@ +2005-12-31 Jerry DeLisle + + 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. + 2005-12-28 Jerry DeLisle PR libgfortran/25139 diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c index 879cf8f3230..793f0e25d41 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; } }