diff options
Diffstat (limited to 'lib/msun/src')
-rw-r--r-- | lib/msun/src/math_private.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/msun/src/math_private.h b/lib/msun/src/math_private.h index 15ef4fb..3514712 100644 --- a/lib/msun/src/math_private.h +++ b/lib/msun/src/math_private.h @@ -164,8 +164,12 @@ do { \ #define STRICT_ASSIGN(type, lval, rval) do { \ volatile type __lval; \ \ - __lval = (rval); \ - (lval) = __lval; \ + if (sizeof(type) >= sizeof(double)) \ + (lval) = (rval); \ + else { \ + __lval = (rval); \ + (lval) = __lval; \ + } \ } while (0) #endif #endif |