Translate from the i386. All FP constants and operations are evaluated
in the range and precision of their type(s) on amd64, but FLT_EVAL_METHOD said that they were evalated in the "interesting" (buggy) i387 methods. float_t was broken compatibly with FLT_EVAL_METHOD. These definitions seem to be broken on powerpc and possibly on arm. float_t is float on powerpc with gcc [-notraditional] according to glibc, and FLT_EVAL_METHOD is marked with XXX on arm.
This commit is contained in:
parent
961a1f29ef
commit
691f99e98f
@ -64,7 +64,7 @@ typedef __int32_t __clock_t; /* clock()... */
|
||||
typedef unsigned int __cpumask_t;
|
||||
typedef __int64_t __critical_t;
|
||||
typedef double __double_t;
|
||||
typedef double __float_t;
|
||||
typedef float __float_t;
|
||||
typedef __int64_t __intfptr_t;
|
||||
typedef __int64_t __intmax_t;
|
||||
typedef __int64_t __intptr_t;
|
||||
|
@ -42,7 +42,7 @@ __END_DECLS
|
||||
#define FLT_RADIX 2 /* b */
|
||||
#define FLT_ROUNDS __flt_rounds()
|
||||
#if __ISO_C_VISIBLE >= 1999
|
||||
#define FLT_EVAL_METHOD (-1) /* i387 semantics are...interesting */
|
||||
#define FLT_EVAL_METHOD 0 /* no promotions */
|
||||
#define DECIMAL_DIG 21 /* max precision in decimal digits */
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user