soft-fp: Fix _FP_TO_INT latent bug in overflow handling.
[platform/upstream/glibc.git] / soft-fp / floatundidf.c
index 2169a3f..43d59c1 100644 (file)
@@ -1,6 +1,6 @@
 /* Software floating-point emulation.
    Convert a 64bit unsigned integer to IEEE double
-   Copyright (C) 1997,1999, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1997-2014 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson (rth@cygnus.com) and
                  Jakub Jelinek (jj@ultra.linux.cz).
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
 
 #include "soft-fp.h"
 #include "double.h"
 
-double
-__floatundidf(UDItype i)
+DFtype
+__floatundidf (UDItype i)
 {
   FP_DECL_EX;
-  FP_DECL_D(A);
+  FP_DECL_D (A);
   DFtype a;
 
-  FP_FROM_INT_D(A, i, DI_BITS, UDItype);
-  FP_PACK_RAW_D(a, A);
+  FP_INIT_ROUNDMODE;
+  FP_FROM_INT_D (A, i, DI_BITS, UDItype);
+  FP_PACK_RAW_D (a, A);
   FP_HANDLE_EXCEPTIONS;
 
   return a;