Signal floating-point-overflow from bignum-to-float.
commit6ea220e4c1622eba1eb4a784f4b8f8e1d9e5a4e7
authorStas Boukarev <stassats@gmail.com>
Thu, 15 Feb 2018 12:34:21 +0000 (15 15:34 +0300)
committerStas Boukarev <stassats@gmail.com>
Thu, 15 Feb 2018 13:12:15 +0000 (15 16:12 +0300)
tree428fbe9a10c436dc084ba590b3a8cf7951c65f35
parent4023cc8820dad1ce5efa892c5940669414c3bdec
Signal floating-point-overflow from bignum-to-float.

It was claiming that it's mostly called from coerce, which asks for TYPE-ERROR.
But it's called by FLOAT and implicit float conversion.
And COERCE doesn't signal type errors when coercing DOUBLE-FLOAT to SINGLE-FLOAT.
This helps REDUCE-CONSTANTS to catch the error.

Fixes lp#1749588.
src/code/bignum.lisp
src/code/reader.lisp
src/compiler/srctran.lisp
tests/arith.impure.lisp
tests/compiler.pure.lisp
tests/float.impure.lisp