OSDN Git Service

2000-12-07 Jay Kulpinski <jskulpin@eng01.gdds.com>
authorjjohnstn <jjohnstn>
Fri, 8 Dec 2000 00:27:39 +0000 (00:27 +0000)
committerjjohnstn <jjohnstn>
Fri, 8 Dec 2000 00:27:39 +0000 (00:27 +0000)
        * libc/stdio/vfprintf.c: Minor modification to avoid requiring
        a floating point register unless really printing a floating
        point number.

newlib/ChangeLog
newlib/libc/stdio/vfprintf.c

index 5f570e7..aa25263 100644 (file)
@@ -1,3 +1,9 @@
+2000-12-07  Jay Kulpinski <jskulpin@eng01.gdds.com>
+
+        * libc/stdio/vfprintf.c: Minor modification to avoid requiring
+        a floating point register unless really printing a floating
+        point number.
+
 2000-12-07  Jeff Johnston  <jjohnstn@redhat.com>
 
        * libc/stdlib/ldtoa.c: Removed include of alloca.h.
index ea45846..306644a 100644 (file)
@@ -317,9 +317,11 @@ _DEFUN (_VFPRINTF_R, (data, fp, fmt0, ap),
        char *decimal_point = localeconv()->decimal_point;
        char softsign;          /* temporary negative sign for floats */
 #ifdef _NO_LONGDBL
-       double _fpvalue;        /* floating point arguments %[eEfgG] */
+       union { int i; double d; } _double_ = {0};
+       #define _fpvalue (_double_.d)
 #else
-       _LONG_DOUBLE _fpvalue;  /* floating point arguments %[eEfgG] */
+       union { int i; _LONG_DOUBLE ld; } _long_double_ = {0};
+       #define _fpvalue (_long_double_.ld)
 #endif
        int expt;               /* integer value of exponent */
        int expsize = 0;        /* character count for expstr */