gimple-ssa-sprintf.c (format_floating): Simplify the computation of precision to...
authorMartin Sebor <msebor@redhat.com>
Fri, 27 Jan 2017 02:45:32 +0000 (02:45 +0000)
committerMartin Sebor <msebor@gcc.gnu.org>
Fri, 27 Jan 2017 02:45:32 +0000 (19:45 -0700)
gcc/ChangeLog:
* gimple-ssa-sprintf.c (format_floating): Simplify the computation
of precision to avoid preprocessor conditional.

From-SVN: r244961

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

index ac9a89f7ba882bad0f2ab5a7ff7a26e0539a6877..c625d7bdb76c82925cb16077ca14fb5b96fcb3ea 100644 (file)
@@ -1,3 +1,8 @@
+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
index 65144acebf56d5ba03bffb3b2515e3fcd0720d64..bd15a397ccffaeb57ca3841aa0bf5e1cbe080ee8 100644 (file)
@@ -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;