diff options
author | bde <bde@FreeBSD.org> | 2008-01-17 13:12:46 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 2008-01-17 13:12:46 +0000 |
commit | 691f99e98f534b08876da278935889a3d2624e22 (patch) | |
tree | b14a95e8b51f4ae8ad6f39dd215a612ab0738533 /sys | |
parent | 961a1f29ef8a0e9a69bfe822b795ef304ef9f1ad (diff) | |
download | FreeBSD-src-691f99e98f534b08876da278935889a3d2624e22.zip FreeBSD-src-691f99e98f534b08876da278935889a3d2624e22.tar.gz |
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.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/amd64/include/_types.h | 2 | ||||
-rw-r--r-- | sys/amd64/include/float.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/amd64/include/_types.h b/sys/amd64/include/_types.h index 4217c82..89d2e86 100644 --- a/sys/amd64/include/_types.h +++ b/sys/amd64/include/_types.h @@ -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; diff --git a/sys/amd64/include/float.h b/sys/amd64/include/float.h index 52b899f..8f0d713 100644 --- a/sys/amd64/include/float.h +++ b/sys/amd64/include/float.h @@ -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 |