diff options
author | Tobias Burnus <burnus@net-b.de> | 2010-07-02 21:07:30 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2010-07-02 21:07:30 +0200 |
commit | 7a0208b79131d47d8ba5e91fd2ce0dead363a486 (patch) | |
tree | 4e39ff272ba04dd423bf240511009e404fa28d3f | |
parent | f0ee5e3e2a293180e1f36e79d342ac9ec8cd81fa (diff) | |
download | gcc-7a0208b79131d47d8ba5e91fd2ce0dead363a486.zip gcc-7a0208b79131d47d8ba5e91fd2ce0dead363a486.tar.gz gcc-7a0208b79131d47d8ba5e91fd2ce0dead363a486.tar.bz2 |
re PR libfortran/43298 (fortran library does not read in NaN -Inf or Inf)
2010-06-28 Tobias Burnus <burnus@net-b.de>
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
-rw-r--r-- | libgfortran/ChangeLog | 6 | ||||
-rw-r--r-- | libgfortran/io/list_read.c | 3 | ||||
-rw-r--r-- | libgfortran/io/read.c | 9 |
3 files changed, 10 insertions, 8 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 645056b..9a523d5 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2010-06-28 Tobias Burnus <burnus@net-b.de> + + 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 <ro@CeBiTec.Uni-Bielefeld.DE> * 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 72016b7..c88edf6 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 873d26c..12aa098 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) |