Go frontend: ensure mpfr exponent range is large enough for Go
PR go/98402 * go-lang.c (go_langhook_init): Force MPFR exponent range to be large enough to support Go constants.
This commit is contained in:
parent
1a5e728a54
commit
03ea48ff27
1 changed files with 10 additions and 0 deletions
|
@ -131,6 +131,16 @@ go_langhook_init (void)
|
|||
eventually be controllable by a command line option. */
|
||||
mpfr_set_default_prec (256);
|
||||
|
||||
/* If necessary, override GCC's choice of minimum and maximum
|
||||
exponents. This should only affect GCC middle-end
|
||||
compilation-time, not correctness. */
|
||||
mpfr_exp_t exp = mpfr_get_emax ();
|
||||
if (exp < (1 << 16) - 1)
|
||||
mpfr_set_emax ((1 << 16) - 1);
|
||||
exp = mpfr_get_emin ();
|
||||
if (exp > - ((1 << 16) - 1))
|
||||
mpfr_set_emin (- ((1 << 16) - 1));
|
||||
|
||||
/* Go uses exceptions. */
|
||||
using_eh_for_cleanups ();
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue