OSDN Git Service

f:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Sep 2003 22:21:15 +0000 (22:21 +0000)
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Sep 2003 22:21:15 +0000 (22:21 +0000)
* target.c (FFETARGET_ATOF_): Delete.
(ffetarget_real1, ffetarget_real2): Use real_from_string directly.
* target.h (FFETARGET_REAL_VALUE_FROM_INT_,
FFETARGET_REAL_VALUE_FROM_LONGLONG_): Use mode_for_size,
don't refer to SFmode or DFmode directly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71922 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/f/ChangeLog
gcc/f/target.c
gcc/f/target.h

index e97a710..720bfa0 100644 (file)
@@ -1,3 +1,11 @@
+2003-09-29  Zack Weinberg  <zack@codesourcery.com>
+
+       * target.c (FFETARGET_ATOF_): Delete.
+       (ffetarget_real1, ffetarget_real2): Use real_from_string directly.
+       * target.h (FFETARGET_REAL_VALUE_FROM_INT_,
+       FFETARGET_REAL_VALUE_FROM_LONGLONG_): Use mode_for_size,
+       don't refer to SFmode or DFmode directly.
+
 2003-09-28  Richard Henderson  <rth@redhat.com>
 
        * com.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
index 9876046..1626112 100644 (file)
@@ -105,11 +105,6 @@ static void ffetarget_print_char_ (FILE *f, unsigned char c);
 
 /* Internal macros. */
 
-#ifdef REAL_VALUE_ATOF
-#define FFETARGET_ATOF_(p,m) REAL_VALUE_ATOF ((p),(m))
-#else
-#define FFETARGET_ATOF_(p,m) atof ((p))
-#endif
 \f
 
 /* ffetarget_print_char_ -- Print a single character (in apostrophe context)
@@ -2279,7 +2274,7 @@ ffetarget_real1 (ffetargetReal1 *value, ffelexToken integer,
 
   {
     REAL_VALUE_TYPE rv;
-    rv = FFETARGET_ATOF_ (ptr, SFmode);
+    real_from_string (&rv, ptr);
     ffetarget_make_real1 (value, rv);
   }
 
@@ -2367,7 +2362,7 @@ ffetarget_real2 (ffetargetReal2 *value, ffelexToken integer,
 
   {
     REAL_VALUE_TYPE rv;
-    rv = FFETARGET_ATOF_ (ptr, DFmode);
+    real_from_string (&rv, ptr);
     ffetarget_make_real2 (value, rv);
   }
 
index eff6ab9..8ec73ad 100644 (file)
@@ -579,13 +579,13 @@ void *ffetarget_memcpy_ (void *dst, void *src, size_t len);
 #define FFETARGET_REAL_VALUE_FROM_INT_(resr, lf, kt)           \
   REAL_VALUE_FROM_INT (resr, (HOST_WIDE_INT) lf,               \
                        (HOST_WIDE_INT) ((lf < 0) ? -1 : 0),    \
-                      ((kt == 1) ? SFmode : DFmode))
+                       mode_for_size (kt == 1 ? 32 : 64, MODE_FLOAT, 0))
 
 #if HOST_BITS_PER_LONGLONG > HOST_BITS_PER_WIDE_INT
 #define FFETARGET_REAL_VALUE_FROM_LONGLONG_(resr, lf, kt)              \
   REAL_VALUE_FROM_INT (resr, (HOST_WIDE_INT) lf,                       \
                       (HOST_WIDE_INT) (lf >> HOST_BITS_PER_WIDE_INT),  \
-                      ((kt == 1) ? SFmode : DFmode))
+                       mode_for_size (kt == 1 ? 32 : 64, MODE_FLOAT, 0))
 #define FFETARGET_LONGLONG_FROM_INTS_(hi, lo)          \
   (((long long int) hi << HOST_BITS_PER_WIDE_INT)      \
    | (long long int) ((unsigned HOST_WIDE_INT) lo))