* 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
+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
/* 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)
{
REAL_VALUE_TYPE rv;
- rv = FFETARGET_ATOF_ (ptr, SFmode);
+ real_from_string (&rv, ptr);
ffetarget_make_real1 (value, rv);
}
{
REAL_VALUE_TYPE rv;
- rv = FFETARGET_ATOF_ (ptr, DFmode);
+ real_from_string (&rv, ptr);
ffetarget_make_real2 (value, rv);
}
#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))