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> 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 * gimple-ssa-sprintf.c (format_floating): Test HAVE_XFmode and
HAVE_DFmode before using XFmode or DFmode. HAVE_DFmode before using XFmode or DFmode.
(parse_directive): Avoid using the z length modifier to avoid (parse_directive): Avoid using the z length modifier to avoid
......
...@@ -1686,20 +1686,10 @@ format_floating (const directive &dir, tree arg) ...@@ -1686,20 +1686,10 @@ format_floating (const directive &dir, tree arg)
prec[0] = -1; prec[0] = -1;
if (prec[1] < 0) if (prec[1] < 0)
{ {
#ifdef HAVE_XFmode unsigned fmtprec
/* When L is specified use long double, otherwise double. */ = REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (arg)))->p;
unsigned fmtprec
= (dir.modifier == FMT_LEN_L /* The precision of the IEEE 754 double format is 53.
? 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.
The precision of all other GCC binary double formats The precision of all other GCC binary double formats
is 56 or less. */ is 56 or less. */
prec[1] = fmtprec <= 56 ? 13 : 15; 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