realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
authorJakub Jelinek <jakub@redhat.com>
Fri, 27 Jan 2017 11:28:34 +0000 (12:28 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 27 Jan 2017 11:28:34 +0000 (12:28 +0100)
* realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
* gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN
instead of MPFR_RNDN.

From-SVN: r244966

gcc/ChangeLog
gcc/gimple-ssa-sprintf.c
gcc/realmpfr.h

index 3ef51ca9e8a8514b0b77d5612409203d4a8ae7ac..2e52f20ecf759ee6f3f23cbfe83723e8a02a773f 100644 (file)
@@ -1,3 +1,9 @@
+2017-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
+       * gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN
+       instead of MPFR_RNDN.
+
 2017-01-27  Richard Earnshaw  <rearnsha@arm.com>
 
        PR target/79239
index bd15a397ccffaeb57ca3841aa0bf5e1cbe080ee8..8261a44228273c25d4dcdb171941d4b1f9f6e13c 100644 (file)
@@ -1498,7 +1498,7 @@ format_floating_max (tree type, char spec, HOST_WIDE_INT prec)
      round-to-nearest mode.  */
   mpfr_t x;
   mpfr_init2 (x, rfmt->p);
-  mpfr_from_real (x, &rv, MPFR_RNDN);
+  mpfr_from_real (x, &rv, GMP_RNDN);
 
   /* Return a value one greater to account for the leading minus sign.  */
   return 1 + get_mpfr_format_length (x, "", prec, spec, 'D');
index 20c94eaf7625888fdd1e730f9fdf6f9d26d230a0..0ea36d2c9cef4feceefef398872bb7ce09f6e850 100644 (file)
@@ -32,5 +32,10 @@ extern void real_from_mpfr (REAL_VALUE_TYPE *, mpfr_srcptr,
                            const real_format *, mp_rnd_t);
 extern void mpfr_from_real (mpfr_ptr, const REAL_VALUE_TYPE *, mp_rnd_t);
 
-#endif /* ! GCC_REALGMP_H */
+#if (GCC_VERSION >= 3000)
+  /* For compatibility with mpfr 2.4 and earlier, we want to only use
+     GMP_RND*.  */
+  #pragma GCC poison MPFR_RNDN MPFR_RNDZ MPFR_RNDU MPFR_RNDD
+#endif
 
+#endif /* ! GCC_REALGMP_H */