http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48878
Jerry DeLisle <jvdelisle at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jvdelisle at gcc dot
| |gnu.org
--- Comment #1 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> 2011-05-05
12:51:49 UTC ---
"A processor is free to select any I/O rounding mode for the default mode. The
mode might correspond to UP, DOWN, ZERO, NEAREST, or COMPATIBLE; or it might be
a completely different I/O rounding mode.'
I think the standard has a funny way of telling people not to rely on default
rounding modes, i.e. be explicit if it matters. This will do it. I am OK with
nearest
Index: write_float.def
===================================================================
--- write_float.def (revision 173411)
+++ write_float.def (working copy)
@@ -236,6 +236,8 @@
if (!sign_bit)
goto skip;
goto updown;
+ case ROUND_PROCDEFINED:
+ case ROUND_UNSPECIFIED:
case ROUND_NEAREST:
/* Round compatible unless there is a tie. A tie is a 5 with
all trailing zero's. */
@@ -263,8 +265,6 @@
}
}
/* Fall through. */
- case ROUND_PROCDEFINED:
- case ROUND_UNSPECIFIED:
case ROUND_COMPATIBLE:
rchar = '5';
goto do_rnd;