X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Finternal%2Flibm.h;h=a71c4c05ab092b77bfd2c24e8a6eaab569745bea;hb=d712dd396d7d69686f7001fd986bfc59217b72dd;hp=8c5474a8483091e4d5582722b9e0916755845227;hpb=13e400b3559666b5e584bdf6f8450aad826b43ae;p=musl diff --git a/src/internal/libm.h b/src/internal/libm.h index 8c5474a8..a71c4c05 100644 --- a/src/internal/libm.h +++ b/src/internal/libm.h @@ -32,6 +32,19 @@ union dshape { uint64_t bits; }; +#define FORCE_EVAL(x) do { \ + if (sizeof(x) == sizeof(float)) { \ + volatile float __x; \ + __x = (x); \ + } else if (sizeof(x) == sizeof(double)) { \ + volatile double __x; \ + __x = (x); \ + } else { \ + volatile long double __x; \ + __x = (x); \ + } \ +} while(0) + /* Get two 32 bit ints from a double. */ #define EXTRACT_WORDS(hi,lo,d) \ do { \