compiler: handle >32bit exponent in Ldexp
authorIan Lance Taylor <ian@gcc.gnu.org>
Wed, 9 Aug 2017 17:15:02 +0000 (17:15 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Wed, 9 Aug 2017 17:15:02 +0000 (17:15 +0000)
commita171ac0380a22f992d9c57a4189ddfc834d0e022
tree154cca144f12a16ddd90a6311693784825b3485a
parent0ca970cd53e8fb86462ae36fab068f3a8073bc86
compiler: handle >32bit exponent in Ldexp

    Libgo's implementation of math.Ldexp declared the libc "ldexp" as
    taking an 'int' exponent argument, which is not quite right for 64-bit
    platforms (exp arg is always int32); this could yield incorrect
    results for exponent values outside the range of Minint32/Maxint32.
    Fix by upating the type for the libc version of ldexp, and adding
    guards to screen for out-of-range exponents.

    Fixes #21323.

    Reviewed-on: https://go-review.googlesource.com/54250

From-SVN: r250992
gcc/go/gofrontend/MERGE
libgo/go/math/ldexp.go