Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!AI.MIT.EDU!twinsun!eggert From: twinsun!eggert@AI.MIT.EDU (Paul Eggert) Newsgroups: gnu.gcc.bug Subject: GCC 1.35 fix to tm-news*.h for Sony NEWS-OS 3.0 Message-ID: <8906011646.AA05089@twinsun.com> Date: 1 Jun 89 16:46:16 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 114 In GNU CC 1.35, the config/tm-news*.h files contain some typographical errors. 1. Two spurious lines in PRINT_OPERAND_ADDRESS cause a syntax error. 2. reg_names is misspelled "reg_name". 3. A comment in tm-news.h that says "GAS is used" should be in tm-newsgas.h. 4. Sony is miscapitalized "SONY". Here are some fixes, tested under Sony NEWS-OS 3.0. -- Paul Eggert =================================================================== RCS file: config/RCS/tm-news.h,v retrieving revision 1.35 diff -c -r1.35 config/tm-news.h *** /tmp/,RCSt1007894 Wed May 31 19:22:09 1989 --- config/tm-news.h Wed May 31 19:19:15 1989 *************** *** 1,4 **** ! /* Definitions of target machine for GNU compiler. SONY NEWS-OS 3.0 version. Copyright (C) 1987, 1989 Free Software Foundation, Inc. This file is part of GNU CC. --- 1,4 ---- ! /* Definitions of target machine for GNU compiler. Sony NEWS-OS 3.0 version. Copyright (C) 1987, 1989 Free Software Foundation, Inc. This file is part of GNU CC. *************** *** 17,26 **** along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - /* Use the GNU Assembler, because the system's assembler - has no way to assemble the difference of two labels - for the displacement in a switch-dispatch instruction. */ - #ifndef USE_GAS /* This controls conditionals in tm-m68k.h. */ #define MOTOROLA --- 17,22 ---- *************** *** 349,359 **** if (GET_CODE (ireg) == SIGN_EXTEND) \ fprintf (FILE, "(L%d.b,pc,%s.w", \ CODE_LABEL_NUMBER (XEXP (addr, 0)), \ ! reg_name[REGNO (XEXP (ireg, 0))]); \ else \ fprintf (FILE, "(L%d.b,pc,%s.l", \ CODE_LABEL_NUMBER (XEXP (addr, 0)), \ ! reg_name[REGNO (ireg)]); \ if (scale != 1) fprintf (FILE, "*%d", scale); \ putc (')', FILE); \ break; } \ --- 345,355 ---- if (GET_CODE (ireg) == SIGN_EXTEND) \ fprintf (FILE, "(L%d.b,pc,%s.w", \ CODE_LABEL_NUMBER (XEXP (addr, 0)), \ ! reg_names[REGNO (XEXP (ireg, 0))]); \ else \ fprintf (FILE, "(L%d.b,pc,%s.l", \ CODE_LABEL_NUMBER (XEXP (addr, 0)), \ ! reg_names[REGNO (ireg)]); \ if (scale != 1) fprintf (FILE, "*%d", scale); \ putc (')', FILE); \ break; } \ *************** *** 360,366 **** if (breg != 0 && ireg == 0 && GET_CODE (addr) == LABEL_REF) \ { fprintf (FILE, "(L%d.b,pc,%s.l", \ CODE_LABEL_NUMBER (XEXP (addr, 0)), \ ! reg_name[REGNO (breg)]); \ putc (')', FILE); \ break; } \ if (ireg != 0 || breg != 0) \ --- 356,362 ---- if (breg != 0 && ireg == 0 && GET_CODE (addr) == LABEL_REF) \ { fprintf (FILE, "(L%d.b,pc,%s.l", \ CODE_LABEL_NUMBER (XEXP (addr, 0)), \ ! reg_names[REGNO (breg)]); \ putc (')', FILE); \ break; } \ if (ireg != 0 || breg != 0) \ *************** *** 388,395 **** } \ else if (reg1 != 0 && GET_CODE (addr) == LABEL_REF) \ { fprintf (FILE, "(L%d.b,pc,%s:l)", \ - { fprintf (FILE, "(L%d-LI%d.b,pc,%s:l)", \ - CODE_LABEL_NUMBER (XEXP (addr, 0)), \ CODE_LABEL_NUMBER (XEXP (addr, 0)), \ reg_names[REGNO (reg1)]); \ break; } \ --- 384,389 ---- =================================================================== RCS file: config/RCS/tm-newsgas.h,v retrieving revision 1.35 diff -c -r1.35 config/tm-newsgas.h *** /tmp/,RCSt1007894 Wed May 31 19:22:11 1989 --- config/tm-newsgas.h Wed May 31 19:19:17 1989 *************** *** 1,3 **** --- 1,8 ---- + /* In Sony NEWS-OS versions before 3.0, we must + use the GNU Assembler, because the system's assembler + has no way to assemble the difference of two labels + for the displacement in a switch-dispatch instruction. */ + #define USE_GAS #include "tm-news.h"