diff options
-rw-r--r-- | libgfortran/ChangeLog | 6 | ||||
-rw-r--r-- | libgfortran/io/io.h | 2 | ||||
-rw-r--r-- | libgfortran/io/write_float.def | 2 |
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);\ \ |