aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2010-07-02 21:07:30 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2010-07-02 21:07:30 +0200
commit7a0208b79131d47d8ba5e91fd2ce0dead363a486 (patch)
tree4e39ff272ba04dd423bf240511009e404fa28d3f
parentf0ee5e3e2a293180e1f36e79d342ac9ec8cd81fa (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--libgfortran/io/list_read.c3
-rw-r--r--libgfortran/io/read.c9
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)