aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libgfortran/ChangeLog6
-rw-r--r--libgfortran/io/io.h2
-rw-r--r--libgfortran/io/write_float.def2
3 files changed, 8 insertions, 2 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 049f0dd..f6da2ce 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,9 @@
+2008-10-17 Jerry DeLisle <jvdelisle@gcc.gnu.org
+
+ PR libfortran/37707
+ * io/write_float.def (WRITE_FLOAT): Round to 1.0 correctly.
+ * io/io.h (st_parameter_44): Fix id type declaration.
+
2008-10-16 Thomas Koenig <tkoenig@gcc.gnu.org>
* io/file_pos.c (unformatted_backspace): Normal case is
diff --git a/libgfortran/io/io.h b/libgfortran/io/io.h
index 710224d..ec37be3 100644
--- a/libgfortran/io/io.h
+++ b/libgfortran/io/io.h
@@ -458,7 +458,7 @@ typedef struct st_parameter_43
typedef struct st_parameter_44
{
- GFC_IO_INT *id;
+ GFC_INTEGER_4 *id;
GFC_IO_INT pos;
CHARACTER1 (asynchronous);
CHARACTER2 (blank);
diff --git a/libgfortran/io/write_float.def b/libgfortran/io/write_float.def
index 0ee8f35..73a6ed1 100644
--- a/libgfortran/io/write_float.def
+++ b/libgfortran/io/write_float.def
@@ -746,7 +746,7 @@ sprintf (buffer, "%+-#" STR(MIN_FIELD_WIDTH) ".*" \
if (tmp < 0.5)\
tmp = 0.0;\
else if (tmp < 1.0)\
- tmp = tmp + 0.5;\
+ tmp = 1.0;\
}\
zero_flag = (tmp == 0.0);\
\