MPFR_RNDx was introduced in MPFR 3.0.0. Since the minimal version that gcc checks for is 2.4.0, this leads to a build failure.
The fix is straightforward. Tested on x86_64-pc-linux-gnu. Committed to trunk as obvious. * gimple-ssa-sprintf.c (format_floating): Change MPFR_RNDx to GMP_RNDx for compatibility. diff --git a/gcc/gimple-ssa-sprintf.c b/gcc/gimple-ssa-sprintf.c index 66edc3ec1cc9..283b6251d743 100644 --- a/gcc/gimple-ssa-sprintf.c +++ b/gcc/gimple-ssa-sprintf.c @@ -1560,7 +1560,7 @@ format_floating (const directive &dir, tree arg) rounding in either direction can result in longer output. */ mpfr_t mpfrval; mpfr_init2 (mpfrval, rfmt->p); - mpfr_from_real (mpfrval, rvp, i ? MPFR_RNDU : MPFR_RNDD); + mpfr_from_real (mpfrval, rvp, i ? GMP_RNDU : GMP_RNDD); /* Use the MPFR rounding specifier to round down in the first iteration and then up. In most but not all cases this will -- Markus