diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-03-20 19:38:40 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-03-20 19:38:40 -0500 |
commit | a61e5d28e921f75e4219377d941942c8eef711dd (patch) | |
tree | a0afc5e1aad48808832a3ee8e5aa3a2360a73f33 | |
parent | 1e6c6f1118ad03697e3afe11edf2f84b2da978a2 (diff) | |
download | gcc-a61e5d28e921f75e4219377d941942c8eef711dd.zip gcc-a61e5d28e921f75e4219377d941942c8eef711dd.tar.gz gcc-a61e5d28e921f75e4219377d941942c8eef711dd.tar.bz2 |
(PRINT_OPERAND): Print float infinity and NaN's as +/-99e999.
From-SVN: r6835
-rw-r--r-- | gcc/config/m68k/news.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/gcc/config/m68k/news.h b/gcc/config/m68k/news.h index 3ed0ab9..3e879b5 100644 --- a/gcc/config/m68k/news.h +++ b/gcc/config/m68k/news.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. SONY NEWS-OS 4 version. - Copyright (C) 1987, 1989, 1993 Free Software Foundation, Inc. + Copyright (C) 1987, 1989, 1993, 1994 Free Software Foundation, Inc. This file is part of GNU CC. @@ -319,7 +319,15 @@ do { char dstr[30]; \ if (CODE == 'f') \ { char dstr[30]; \ REAL_VALUE_TO_DECIMAL (r, "%.9e", dstr); \ - fprintf (FILE, "#0f%s", dstr); \ + if (REAL_VALUE_ISINF (r) || REAL_VALUE_ISNAN (r)) { \ + if (REAL_VALUE_NEGATIVE (r)) \ + fprintf (FILE, "#0f-99e999"); \ + else \ + fprintf (FILE, "#0f99e999"); } \ + else if (REAL_VALUE_MINUS_ZERO (r)) \ + fprintf (FILE, "#0f-0.0"); \ + else \ + fprintf (FILE, "#0f%s", dstr); \ } \ else \ { long l; \ @@ -334,7 +342,15 @@ do { char dstr[30]; \ { REAL_VALUE_TYPE r; char dstr[30]; \ REAL_VALUE_FROM_CONST_DOUBLE (r, X); \ REAL_VALUE_TO_DECIMAL (r, "%.20e", dstr ); \ - fprintf (FILE, "#0d%s", dstr); } \ + if (REAL_VALUE_ISINF (r) || REAL_VALUE_ISNAN (r)) { \ + if (REAL_VALUE_NEGATIVE (r)) \ + fprintf (FILE, "#0d-99e999"); \ + else \ + fprintf (FILE, "#0d99e999"); } \ + else if (REAL_VALUE_MINUS_ZERO (r)) \ + fprintf (FILE, "#0d-0.0"); \ + else \ + fprintf (FILE, "#0d%s", dstr); } \ else if (CODE == 'b') output_addr_const (FILE, X); \ else { putc ('#', FILE); output_addr_const (FILE, X); }} |