diff options
author | Richard Henderson <rth@redhat.com> | 2002-10-15 17:40:39 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-10-15 17:40:39 -0700 |
commit | da6eec72f5a23bbee21efae3efd976283bf1c23c (patch) | |
tree | 5b673d80faa93e51f114a60dc517ca1f9603bf06 /gcc/config/m68k | |
parent | ba0bb02d1d616cf5618877878a02442b71a97dec (diff) | |
download | gcc-da6eec72f5a23bbee21efae3efd976283bf1c23c.zip gcc-da6eec72f5a23bbee21efae3efd976283bf1c23c.tar.gz gcc-da6eec72f5a23bbee21efae3efd976283bf1c23c.tar.bz2 |
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
Diffstat (limited to 'gcc/config/m68k')
-rw-r--r-- | gcc/config/m68k/hp320.h | 20 | ||||
-rw-r--r-- | gcc/config/m68k/m68k.h | 6 | ||||
-rw-r--r-- | gcc/config/m68k/sun2o4.h | 4 | ||||
-rw-r--r-- | gcc/config/m68k/sun3.h | 4 |
4 files changed, 15 insertions, 19 deletions
diff --git a/gcc/config/m68k/hp320.h b/gcc/config/m68k/hp320.h index 17dcb69..680aab4 100644 --- a/gcc/config/m68k/hp320.h +++ b/gcc/config/m68k/hp320.h @@ -300,7 +300,7 @@ do { \ if (CODE == 'f') \ { \ char dstr[30]; \ - REAL_VALUE_TO_DECIMAL (VALUE, dstr, 9); \ + real_to_decimal (dstr, &(VALUE), sizeof (dstr), 9, 0); \ fprintf ((FILE), "&0f%s", dstr); \ } \ else \ @@ -317,7 +317,7 @@ do { \ #undef ASM_OUTPUT_DOUBLE_OPERAND #define ASM_OUTPUT_DOUBLE_OPERAND(FILE,VALUE) \ do { char dstr[30]; \ - REAL_VALUE_TO_DECIMAL (VALUE, dstr, -1); \ + real_to_decimal (dstr, &(VALUE), sizeof (dstr), 0, 1); \ fprintf (FILE, "&0f%s", dstr); \ } while (0) @@ -326,7 +326,7 @@ do { \ #undef ASM_OUTPUT_LONG_DOUBLE_OPERAND #define ASM_OUTPUT_LONG_DOUBLE_OPERAND(FILE,VALUE) \ do { char dstr[30]; \ - REAL_VALUE_TO_DECIMAL (VALUE, dstr, -1); \ + real_to_decimal (dstr, &(VALUE), sizeof (dstr), 0, 1); \ fprintf (FILE, "&0f%s", dstr); \ } while (0) @@ -351,15 +351,11 @@ do { \ { REAL_VALUE_TYPE r; long l; \ REAL_VALUE_FROM_CONST_DOUBLE (r, X); \ PRINT_OPERAND_FLOAT (CODE, FILE, r, l); } \ - else if (GET_CODE (X) == CONST_DOUBLE && GET_MODE (X) == DFmode) \ - { REAL_VALUE_TYPE r; char dstr[30]; \ - REAL_VALUE_FROM_CONST_DOUBLE (r, X); \ - REAL_VALUE_TO_DECIMAL (r, dstr, -1); \ - fprintf (FILE, "&0f%s", dstr); } \ - else if (GET_CODE (X) == CONST_DOUBLE && GET_MODE (X) == XFmode) \ - { REAL_VALUE_TYPE r; char dstr[30]; \ - REAL_VALUE_FROM_CONST_DOUBLE (r, X); \ - REAL_VALUE_TO_DECIMAL (r, dstr, -1); \ + else if (GET_CODE (X) == CONST_DOUBLE \ + && (GET_MODE (X) == DFmode || GET_MODE (X) == XFmode)) \ + { char dstr[30]; \ + real_to_decimal (dstr, CONST_DOUBLE_REAL_VALUE (X), \ + sizeof (dstr), 0, 1); \ fprintf (FILE, "&0f%s", dstr); } \ else { putc ('&', FILE); output_addr_const (FILE, X); }} #endif diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index 703a379..eff0ce2 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -1823,7 +1823,7 @@ __transfer_from_trampoline () \ if (CODE == 'f') \ { \ char dstr[30]; \ - REAL_VALUE_TO_DECIMAL (VALUE, dstr, 9); \ + real_to_decimal (dstr, &(VALUE), sizeof (dstr), 9, 0); \ asm_fprintf ((FILE), "%I0r%s", dstr); \ } \ else \ @@ -1838,7 +1838,7 @@ __transfer_from_trampoline () \ This macro is a 68k-specific macro. */ #define ASM_OUTPUT_DOUBLE_OPERAND(FILE,VALUE) \ do { char dstr[30]; \ - REAL_VALUE_TO_DECIMAL (VALUE, dstr, -1); \ + real_to_decimal (dstr, &(VALUE), sizeof (dstr), 0, 1); \ asm_fprintf (FILE, "%I0r%s", dstr); \ } while (0) @@ -1846,7 +1846,7 @@ __transfer_from_trampoline () \ generated by m68k.md. */ #define ASM_OUTPUT_LONG_DOUBLE_OPERAND(FILE,VALUE) \ do { char dstr[30]; \ - REAL_VALUE_TO_DECIMAL (VALUE, dstr, -1); \ + real_to_decimal (dstr, &(VALUE), sizeof (dstr), 0, 1); \ asm_fprintf (FILE, "%I0r%s", dstr); \ } while (0) diff --git a/gcc/config/m68k/sun2o4.h b/gcc/config/m68k/sun2o4.h index 5b09262..0601bd0 100644 --- a/gcc/config/m68k/sun2o4.h +++ b/gcc/config/m68k/sun2o4.h @@ -121,7 +121,7 @@ Boston, MA 02111-1307, USA. */ } \ else \ { char dstr[30]; \ - REAL_VALUE_TO_DECIMAL ((VALUE), dstr, 9); \ + real_to_decimal (dstr, &(VALUE), sizeof (dstr), 9, 0); \ fprintf (FILE, "#0r%s", dstr); \ } \ } while (0) @@ -141,7 +141,7 @@ Boston, MA 02111-1307, USA. */ } \ else \ { char dstr[30]; \ - REAL_VALUE_TO_DECIMAL ((VALUE), dstr, -1); \ + real_to_decimal (dstr, &(VALUE), sizeof (dstr), 0, 1); \ fprintf (FILE, "#0r%s", dstr); \ } \ } while (0) diff --git a/gcc/config/m68k/sun3.h b/gcc/config/m68k/sun3.h index 3dcb85a..1d64599 100644 --- a/gcc/config/m68k/sun3.h +++ b/gcc/config/m68k/sun3.h @@ -208,7 +208,7 @@ Boston, MA 02111-1307, USA. */ } \ else \ { char dstr[30]; \ - REAL_VALUE_TO_DECIMAL ((VALUE), dstr, 9); \ + real_to_decimal (dstr, &(VALUE), sizeof (dstr), 9, 0); \ asm_fprintf (FILE, "%I0r%s", dstr); \ } \ } while (0) @@ -228,7 +228,7 @@ Boston, MA 02111-1307, USA. */ } \ else \ { char dstr[30]; \ - REAL_VALUE_TO_DECIMAL ((VALUE), dstr, -1); \ + real_to_decimal (dstr, &(VALUE), sizeof (dstr), 0, 1); \ asm_fprintf (FILE, "%I0r%s", dstr); \ } \ } while (0) |