* Make STRICT_ALIGN() work for doubles as well as for floats. This
only affects i386. The double case was intentionally left broken as an optimization, but we are getting closer to supporting applications and/or kernels that change the (FreeBSD i386) default rounding precision from FP_PD to FP_PE and never change it back, and this requires the STRICT_ALIGN()s that were added to support FP_PE to actually work in all precisions. * Remove an extraneous semicolon at the end of a macro that was supposed to be function-like. Submitted by: bde Approved by: das (mentor)
This commit is contained in:
parent
2089750009
commit
e6f9129aa0
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=240827
@ -224,7 +224,7 @@ do { \
|
||||
#define STRICT_ASSIGN(type, lval, rval) do { \
|
||||
volatile type __lval; \
|
||||
\
|
||||
if (sizeof(type) >= sizeof(double)) \
|
||||
if (sizeof(type) >= sizeof(long double)) \
|
||||
(lval) = (rval); \
|
||||
else { \
|
||||
__lval = (rval); \
|
||||
@ -241,7 +241,7 @@ do { \
|
||||
fp_prec_t __oprec; \
|
||||
\
|
||||
if ((__oprec = fpgetprec()) != FP_PE) \
|
||||
fpsetprec(FP_PE);
|
||||
fpsetprec(FP_PE)
|
||||
#define RETURNI(x) do { \
|
||||
__retval = (x); \
|
||||
if (__oprec != FP_PE) \
|
||||
|
Loading…
Reference in New Issue
Block a user