Commit 0fb9ec83 by Martin Sebor Committed by Martin Sebor

gimple-ssa-sprintf.c (format_floating): Simplify the computation of precision to…

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
parent c1c3f4f2
2017-01-26 Martin Sebor <msebor@redhat.com>
* gimple-ssa-sprintf.c (format_floating): Simplify the computation
of precision.
2017-01-26 Martin Sebor <msebor@redhat.com>
* gimple-ssa-sprintf.c (format_floating): Test HAVE_XFmode and
HAVE_DFmode before using XFmode or DFmode.
(parse_directive): Avoid using the z length modifier to avoid
......
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment