From 0fb9ec83c38887a5b1da7376873506ae59b2c60e Mon Sep 17 00:00:00 2001 From: Martin Sebor Date: Fri, 27 Jan 2017 02:45:32 +0000 Subject: gimple-ssa-sprintf.c (format_floating): Simplify the computation of precision to avoid preprocessor conditional. gcc/ChangeLog: * gimple-ssa-sprintf.c (format_floating): Simplify the computation of precision to avoid preprocessor conditional. From-SVN: r244961 --- gcc/gimple-ssa-sprintf.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) (limited to 'gcc/gimple-ssa-sprintf.c') diff --git a/gcc/gimple-ssa-sprintf.c b/gcc/gimple-ssa-sprintf.c index 65144ac..bd15a39 100644 --- a/gcc/gimple-ssa-sprintf.c +++ b/gcc/gimple-ssa-sprintf.c @@ -1686,20 +1686,10 @@ format_floating (const directive &dir, tree arg) prec[0] = -1; if (prec[1] < 0) { -#ifdef HAVE_XFmode - /* When L is specified use long double, otherwise double. */ - unsigned fmtprec - = (dir.modifier == FMT_LEN_L - ? REAL_MODE_FORMAT (XFmode)->p - : REAL_MODE_FORMAT (DFmode)->p); -#elif defined HAVE_DFmode - /* No long double support, use double precision for both. */ - unsigned fmtprec = REAL_MODE_FORMAT (DFmode)->p; -#else - /* No long double or double support. */ - unsigned fmtprec = 0; -#endif - /* The precision of the IEEE 754 double format is 53. + unsigned fmtprec + = REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (arg)))->p; + + /* The precision of the IEEE 754 double format is 53. The precision of all other GCC binary double formats is 56 or less. */ prec[1] = fmtprec <= 56 ? 13 : 15; -- cgit v1.1