diff options
| author | stijn <stijn@ignitron.net> | 2020-04-06 10:44:48 +0200 |
|---|---|---|
| committer | Damien George <damien.p.george@gmail.com> | 2020-04-18 22:42:24 +1000 |
| commit | f31f9a8b70db03cbcbcf39b493f959d0e284962a (patch) | |
| tree | 46fcd60b5bbae415494fd55a9ba707ddb87021e5 /tests/float/float2int_fp30_intbig.py | |
| parent | 70affd9ba22e7f62666a9a2fafc2a3c0be9ef95a (diff) | |
py/objint: Do not use fpclassify.
For combinations of certain versions of glibc and gcc the definition of
fpclassify always takes float as argument instead of adapting itself to
float/double/long double as required by the C99 standard. At the time of
writing this happens for instance for glibc 2.27 with gcc 7.5.0 when
compiled with -Os and glibc 3.0.7 with gcc 9.3.0. When calling fpclassify
with double as argument, as in objint.c, this results in an implicit
narrowing conversion which is not really correct plus results in a warning
when compiled with -Wfloat-conversion. So fix this by spelling out the
logic manually.
Diffstat (limited to 'tests/float/float2int_fp30_intbig.py')
| -rw-r--r-- | tests/float/float2int_fp30_intbig.py | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tests/float/float2int_fp30_intbig.py b/tests/float/float2int_fp30_intbig.py index da3980040..75ff52f39 100644 --- a/tests/float/float2int_fp30_intbig.py +++ b/tests/float/float2int_fp30_intbig.py @@ -93,6 +93,7 @@ else: fp2int_test(1.999999879 * 2.0 ** 126.0, "large pos", False) fp2int_test(float("inf"), "inf test", True) +fp2int_test(float("-inf"), "inf test", True) fp2int_test(float("nan"), "NaN test", True) # test numbers < 1 (this used to fail; see issue #1044) |
