From da6eec72f5a23bbee21efae3efd976283bf1c23c Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 15 Oct 2002 17:40:39 -0700 Subject: real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS as arguments. gcc/ * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS as arguments. Bound DIGITS by the available buffer size. (real_to_hexadecimal): Likewise. * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes. (REAL_VALUE_TO_DECIMAL): Remove. * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c, sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c, config/i370/i370.h, config/i386/i386.c, config/i960/i960.c, config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c, config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h, config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c, config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to use real_to_decimal directly, and with the proper arguments. * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove. gcc/cp/ * error.c (dump_expr): Use real_to_decimal directly, and with the new arguments. gcc/f/ * target.h (ffetarget_print_real1, ffetarget_print_real2): Use real_to_decimal directly, and with the new arguments. From-SVN: r58187 --- gcc/config/i370/i370.h | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'gcc/config/i370') diff --git a/gcc/config/i370/i370.h b/gcc/config/i370/i370.h index a2aff67..23cf036 100644 --- a/gcc/config/i370/i370.h +++ b/gcc/config/i370/i370.h @@ -1371,21 +1371,21 @@ enum reg_class else \ { \ char buf[50]; \ - REAL_VALUE_TYPE rval; \ - REAL_VALUE_FROM_CONST_DOUBLE(rval, XV); \ - REAL_VALUE_TO_DECIMAL (rval, buf, -1); \ if (GET_MODE (XV) == SFmode) \ { \ mvs_page_lit += 4; \ + real_to_decimal (buf, CONST_DOUBLE_REAL_VALUE (XV), \ + sizeof (buf), 0, 1); \ fprintf (FILE, "=E'%s'", buf); \ } \ - else \ - if (GET_MODE (XV) == DFmode) \ + else if (GET_MODE (XV) == DFmode) \ { \ mvs_page_lit += 8; \ + real_to_decimal (buf, CONST_DOUBLE_REAL_VALUE (XV), \ + sizeof (buf), 0, 1); \ fprintf (FILE, "=D'%s'", buf); \ } \ - else /* VOIDmode !?!? strange but true ... */ \ + else /* VOIDmode */ \ { \ mvs_page_lit += 8; \ fprintf (FILE, "=XL8'%08X%08X'", \ @@ -1665,21 +1665,21 @@ enum reg_class else \ { \ char buf[50]; \ - REAL_VALUE_TYPE rval; \ - REAL_VALUE_FROM_CONST_DOUBLE(rval, XV); \ - REAL_VALUE_TO_DECIMAL (rval, buf, -1); \ if (GET_MODE (XV) == SFmode) \ { \ mvs_page_lit += 4; \ + real_to_decimal (buf, CONST_DOUBLE_REAL_VALUE (XV), \ + sizeof (buf), 0, 1); \ fprintf (FILE, "=E'%s'", buf); \ } \ - else \ - if (GET_MODE (XV) == DFmode) \ + else if (GET_MODE (XV) == DFmode) \ { \ mvs_page_lit += 8; \ + real_to_decimal (buf, CONST_DOUBLE_REAL_VALUE (XV), \ + sizeof (buf), 0, 1); \ fprintf (FILE, "=D'%s'", buf); \ } \ - else /* VOIDmode !?!? strange but true ... */ \ + else /* VOIDmode */ \ { \ mvs_page_lit += 8; \ fprintf (FILE, "=XL8'%08X%08X'", \ -- cgit v1.1