diff options
| author | David Schultz <das@FreeBSD.org> | 2007-12-09 20:16:48 +0000 |
|---|---|---|
| committer | David Schultz <das@FreeBSD.org> | 2007-12-09 20:16:48 +0000 |
| commit | 4e97f925b6c28c828ccb6bb747f070916e70ef07 (patch) | |
| tree | 463baa72d36d39527b50f41d1cda7bbe1d46660a /tools | |
| parent | 2aec24b5153d07b56d57e9ae6a1ed453099f92de (diff) | |
Notes
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/regression/lib/msun/test-lround.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/regression/lib/msun/test-lround.c b/tools/regression/lib/msun/test-lround.c index 4904abe8eefd..2a373670f911 100644 --- a/tools/regression/lib/msun/test-lround.c +++ b/tools/regression/lib/msun/test-lround.c @@ -37,9 +37,14 @@ __FBSDID("$FreeBSD$"); #include <math.h> #include <stdio.h> +/* + * XXX The volatile here is to avoid gcc's bogus constant folding and work + * around the lack of support for the FENV_ACCESS pragma. + */ #define test(func, x, result, excepts) do { \ + volatile double _d = x; \ assert(feclearexcept(FE_ALL_EXCEPT) == 0); \ - assert((func)(x) == (result) || fetestexcept(FE_INVALID)); \ + assert((func)(_d) == (result) || fetestexcept(FE_INVALID)); \ assert(fetestexcept(FE_ALL_EXCEPT) == (excepts)); \ } while (0) |
