From 7a0208b79131d47d8ba5e91fd2ce0dead363a486 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Fri, 2 Jul 2010 21:07:30 +0200 Subject: [PATCH] re PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf) 2010-06-28 Tobias Burnus PR fortran/43298 * list_read.c (parse_real): Do not pass (..) on for NAN(..). * read.c (convert_real): Fix comment about NAN/INF. From-SVN: r161735 --- libgfortran/ChangeLog | 6 ++++++ libgfortran/io/list_read.c | 3 --- libgfortran/io/read.c | 9 ++++----- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 645056bc30d..9a523d5eb82 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2010-06-28 Tobias Burnus + + PR fortran/43298 + * list_read.c (parse_real): Do not pass (..) on for NAN(..). + * read.c (convert_real): Fix comment about NAN/INF. + 2010-07-02 Rainer Orth * configure.ac (gfortran_use_symver): Only check for Sun-style symbol diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c index 72016b73e29..c88edf69cb4 100644 --- a/libgfortran/io/list_read.c +++ b/libgfortran/io/list_read.c @@ -1206,10 +1206,7 @@ parse_real (st_parameter_dt *dtp, void *buffer, int length) for ( ; c != ')'; c = next_char (dtp)) if (is_separator (c)) goto bad; - else - push_char (dtp, c); - push_char (dtp, ')'); c = next_char (dtp); if (is_separator (c)) unget_char (dtp, c); diff --git a/libgfortran/io/read.c b/libgfortran/io/read.c index 873d26c4d83..12aa0988f6d 100644 --- a/libgfortran/io/read.c +++ b/libgfortran/io/read.c @@ -131,11 +131,10 @@ max_value (int length, int signed_flag) /* convert_real()-- Convert a character representation of a floating - * point number to the machine number. Returns nonzero if there is a - * range problem during conversion. Note: many architectures - * (e.g. IA-64, HP-PA) require that the storage pointed to by the dest - * argument is properly aligned for the type in question. TODO: - * handle not-a-numbers and infinities. */ + point number to the machine number. Returns nonzero if there is a + range problem during conversion. Note: many architectures + (e.g. IA-64, HP-PA) require that the storage pointed to by the dest + argument is properly aligned for the type in question. */ int convert_real (st_parameter_dt *dtp, void *dest, const char *buffer, int length)