--- gcc/config/m68k/news.h 2018/04/24 18:10:24 1.1.1.1 +++ gcc/config/m68k/news.h 2018/04/24 18:28:19 1.1.1.4 @@ -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. @@ -15,7 +15,8 @@ GNU General Public License for more deta You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ #ifndef USE_GAS /* This controls conditionals in m68k.h. */ @@ -23,6 +24,9 @@ the Free Software Foundation, 675 Mass A #define SGS_NO_LI /* Suppress jump table label usage */ #endif +#define NO_DOLLAR_IN_LABEL +#define NO_DOT_IN_LABEL + #include "m68k/m68k.h" /* See m68k.h. 7 means 68020 with 68881. */ @@ -38,7 +42,11 @@ the Free Software Foundation, 675 Mass A /* These are the ones defined by Sony, plus mc68000 for uniformity with GCC on other 68000 systems. */ -#define CPP_PREDEFINES "-Dunix -Dbsd43 -Dsony -Dsony_news -Dmc68000 -Dmc68020 -Dnews700" +#ifdef MOTOROLA +#define CPP_PREDEFINES "-Dunix -Dbsd43 -Dsony -Dsony_news -Dmc68000 -Dmc68020 -Dnews700 -D__motorola__ -Asystem(unix) -Asystem(bsd) -Acpu(m68k) -Amachine(m68k)" +#else +#define CPP_PREDEFINES "-Dunix -Dbsd43 -Dsony -Dsony_news -Dmc68000 -Dmc68020 -Dnews700 -Asystem(unix) -Asystem(bsd) -Acpu(m68k) -Amachine(m68k)" +#endif /* These conditionals tested for different submodels, but they were incorrect since they tested the host rather than the target. @@ -46,22 +54,22 @@ the Free Software Foundation, 675 Mass A #if 0 #ifdef news800 -#define CPP_PREDEFINES "-Dunix -Dbsd43 -Dsony -Dsony_news -Dmc68000 -Dmc68020 -Dnews800" +#define CPP_PREDEFINES "-Dunix -Dbsd43 -Dsony -Dsony_news -Dmc68000 -Dmc68020 -Dnews800 -Asystem(unix) -Asystem(bsd) -Acpu(m68k) -Amachine(m68k)" #endif #ifdef news900 -#define CPP_PREDEFINES "-Dunix -Dbsd43 -Dsony -Dsony_news -Dmc68000 -Dmc68020 -Dnews900" +#define CPP_PREDEFINES "-Dunix -Dbsd43 -Dsony -Dsony_news -Dmc68000 -Dmc68020 -Dnews900 -Asystem(unix) -Asystem(bsd) -Acpu(m68k) -Amachine(m68k)" #endif #ifdef news1500 -#define CPP_PREDEFINES "-Dunix -Dbsd43 -Dsony -Dsony_news -Dmc68000 -Dmc68020 -Dmc68030 -Dnews1500" +#define CPP_PREDEFINES "-Dunix -Dbsd43 -Dsony -Dsony_news -Dmc68000 -Dmc68020 -Dmc68030 -Dnews1500 -Asystem(unix) -Asystem(bsd) -Acpu(m68k) -Amachine(m68k)" #endif #ifdef news1700 -#define CPP_PREDEFINES "-Dunix -Dbsd43 -Dsony -Dsony_news -Dmc68000 -Dmc68020 -Dmc68030 -Dnews1700" +#define CPP_PREDEFINES "-Dunix -Dbsd43 -Dsony -Dsony_news -Dmc68000 -Dmc68020 -Dmc68030 -Dnews1700 -Asystem(unix) -Asystem(bsd) -Acpu(m68k) -Amachine(m68k)" #endif #ifdef news1800 -#define CPP_PREDEFINES "-Dunix -Dbsd43 -Dsony -Dsony_news -Dmc68000 -Dmc68020 -Dmc68030 -Dnews1800" +#define CPP_PREDEFINES "-Dunix -Dbsd43 -Dsony -Dsony_news -Dmc68000 -Dmc68020 -Dmc68030 -Dnews1800 -Asystem(unix) -Asystem(bsd) -Acpu(m68k) -Amachine(m68k)" #endif #ifdef news1900 -#define CPP_PREDEFINES "-Dunix -Dbsd43 -Dsony -Dsony_news -Dmc68000 -Dmc68020 -Dmc68030 -Dnews1900" +#define CPP_PREDEFINES "-Dunix -Dbsd43 -Dsony -Dsony_news -Dmc68000 -Dmc68020 -Dmc68030 -Dnews1900 -Asystem(unix) -Asystem(bsd) -Acpu(m68k) -Amachine(m68k)" #endif #endif @@ -312,7 +320,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; \ @@ -323,11 +339,19 @@ do { char dstr[30]; \ { REAL_VALUE_TYPE r; \ REAL_VALUE_FROM_CONST_DOUBLE (r, X); \ ASM_OUTPUT_LONG_DOUBLE_OPERAND (FILE, r); } \ - else if (GET_CODE (X) == CONST_DOUBLE && GET_MODE (X) != DImode) \ + 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, "%.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); }}