diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2016-10-11 18:31:50 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2016-10-11 18:31:50 +0000 |
commit | e8e5329d0c32d897927b87db8cba2af9082d103f (patch) | |
tree | ef943a5c7f31b68b62e8f0a0c1b64f02baa97e26 /gcc/fortran/simplify.c | |
parent | 91f2eb13cbb83377acbb194f2eac594caf71d864 (diff) | |
download | gcc-e8e5329d0c32d897927b87db8cba2af9082d103f.zip gcc-e8e5329d0c32d897927b87db8cba2af9082d103f.tar.gz gcc-e8e5329d0c32d897927b87db8cba2af9082d103f.tar.bz2 |
simplify.c (radians_f): Fix mpdr_mod.
2016-10-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* simplify.c (radians_f): Fix mpdr_mod.
* ireolce.c (get_degrees): Declare tmp.
From-SVN: r241000
Diffstat (limited to 'gcc/fortran/simplify.c')
-rw-r--r-- | gcc/fortran/simplify.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c index bf60f74..18135d2 100644 --- a/gcc/fortran/simplify.c +++ b/gcc/fortran/simplify.c @@ -1768,11 +1768,13 @@ degrees_f (mpfr_t x, mp_rnd_t rnd_mode) static void radians_f (mpfr_t x, mp_rnd_t rnd_mode) { - mpfr_t tmp; + mpfr_t tmp, modtmp; mpfr_init (tmp); + mpfr_init (modtmp); /* Set x = x % 360 to avoid offsets with large angles. */ - mpfr_fmod_d (tmp, x, 360.0, rnd_mode); + mpfr_set_d (modtmp, 360.0, GFC_RND_MODE); + mpfr_fmod (tmp, x, modtmp, rnd_mode); /* Set x = x * pi. */ mpfr_const_pi (tmp, rnd_mode); @@ -1782,6 +1784,7 @@ radians_f (mpfr_t x, mp_rnd_t rnd_mode) mpfr_div_d (x, x, 180.0, rnd_mode); mpfr_clear (tmp); + mpfr_clear (modtmp); } |