From 9e269f7292efa5a81ecf66544d0bb6192e84ca65 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 13 Dec 1993 19:09:31 -0500 Subject: [PATCH] (ASM_OUTPUT_ASCII): Wrap in `do { ... } while (0)'. From-SVN: r6225 --- gcc/config/clipper/clix.h | 8 ++++---- gcc/config/fx80/fx80.h | 6 +++--- gcc/config/i860/bsd.h | 4 ++-- gcc/config/m68k/3b1.h | 10 ++++------ gcc/config/m68k/amix.h | 8 ++++---- gcc/config/m68k/crds.h | 11 ++++------- gcc/config/m68k/hp320.h | 6 +++--- gcc/config/m68k/m68kv4.h | 6 +++--- gcc/config/m68k/mot3300.h | 14 +++++--------- gcc/config/m68k/sgs.h | 6 ++---- gcc/config/m68k/tower-as.h | 15 ++++++--------- gcc/config/mips/iris4.h | 6 +++--- gcc/config/ns32k/encore.h | 6 +++--- gcc/config/tahoe/harris.h | 6 +++--- gcc/config/tahoe/tahoe.h | 10 ++++------ gcc/config/vax/vaxv.h | 8 ++++---- gcc/config/we32k/we32k.h | 6 +++--- 17 files changed, 60 insertions(+), 76 deletions(-) diff --git a/gcc/config/clipper/clix.h b/gcc/config/clipper/clix.h index a60f94dd2cc..5e4cd865687 100644 --- a/gcc/config/clipper/clix.h +++ b/gcc/config/clipper/clix.h @@ -1,5 +1,5 @@ -/* Definitions of target machine for GNU compiler. Vax sysV version. - Copyright (C) 1988 Free Software Foundation, Inc. +/* Definitions of target machine for GNU compiler. Clipper/Clix version. + Copyright (C) 1988, 1993 Free Software Foundation, Inc. This file is part of GNU CC. @@ -38,7 +38,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #define HAVE_ATEXIT #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ -{ \ +do { \ unsigned char *s; \ int i; \ for (i = 0, s = (unsigned char *)(PTR); i < (LEN); s++, i++) \ @@ -48,7 +48,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \ } \ fputs ("\n", (FILE)); \ -} +} while (0) #undef ASM_OUTPUT_DOUBLE #define ASM_OUTPUT_DOUBLE(FILE,VALUE) \ diff --git a/gcc/config/fx80/fx80.h b/gcc/config/fx80/fx80.h index 8c9ba725e75..6dbfed82353 100644 --- a/gcc/config/fx80/fx80.h +++ b/gcc/config/fx80/fx80.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. Alliant FX version. - Copyright (C) 1989 Free Software Foundation, Inc. + Copyright (C) 1989, 1993 Free Software Foundation, Inc. Adapted from m68k.h by Paul Petersen (petersen@uicsrd.csrd.uiuc.edu) and Joe Weening (weening@gang-of-four.stanford.edu). @@ -1117,14 +1117,14 @@ do { union { float f; long l;} tem; \ fprintf (FILE, "\n")) #define ASM_OUTPUT_ASCII(FILE,PTR,SIZE) \ -{ int i; unsigned char *pp = (unsigned char *) (PTR); \ +do { int i; unsigned char *pp = (unsigned char *) (PTR); \ fprintf((FILE), "\t.byte %d", (unsigned int)*pp++); \ for (i = 1; i < (SIZE); ++i, ++pp) { \ if ((i % 8) == 0) \ fprintf((FILE), "\n\t.byte %d", (unsigned int) *pp); \ else \ fprintf((FILE), ",%d", (unsigned int) *pp); } \ - fprintf ((FILE), "\n"); } + fprintf ((FILE), "\n"); } while (0) /* This is how to output an assembler line for a numeric constant byte. */ diff --git a/gcc/config/i860/bsd.h b/gcc/config/i860/bsd.h index df79aa36dc6..4f745c50a1b 100644 --- a/gcc/config/i860/bsd.h +++ b/gcc/config/i860/bsd.h @@ -9,7 +9,7 @@ #define ASCII_DATA_ASM_OP ".byte" #define ASM_OUTPUT_ASCII(f, p, size) \ -{ register unsigned i; \ +do { register unsigned i; \ int inside; \ inside = FALSE; \ for (i = 0; i < (size); i++) { \ @@ -43,4 +43,4 @@ if (inside) \ putc('"', (f)); \ putc('\n', (f)); \ -} +} while (0) diff --git a/gcc/config/m68k/3b1.h b/gcc/config/m68k/3b1.h index 4497fa11290..3aa1f9d1443 100644 --- a/gcc/config/m68k/3b1.h +++ b/gcc/config/m68k/3b1.h @@ -1,10 +1,8 @@ /* Definitions of target machine for GNU compiler. AT&T UNIX PC version (pc7300, 3b1) + Written by Alex Crain (alex@umbc3.umd.edu). - Written by Alex Crain - bug reports to alex@umbc3.umd.edu - - Copyright (C) 1987 Free Software Foundation, Inc. + Copyright (C) 1987, 1993 Free Software Foundation, Inc. This file is part of GNU CC. @@ -194,7 +192,7 @@ do { long l; \ /* Yet another null terminated string format. */ #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ - { register int sp = 0, lp = 0; \ + do { register int sp = 0, lp = 0; \ fprintf ((FILE), "\tbyte\t"); \ loop: \ if ((PTR)[sp] > ' ' && ! ((PTR)[sp] & 0x80) && (PTR)[sp] != '\\') \ @@ -210,7 +208,7 @@ do { long l; \ else \ putc (',', (FILE)); \ goto loop; } \ - putc ('\n', (FILE)); } + putc ('\n', (FILE)); } while (0) /* Note that in the case of the movhi which fetches an element of an ADDR_DIFF_VEC the offset output is too large by 2. diff --git a/gcc/config/m68k/amix.h b/gcc/config/m68k/amix.h index e7b67b9f925..8cd09ce903d 100644 --- a/gcc/config/m68k/amix.h +++ b/gcc/config/m68k/amix.h @@ -1,7 +1,7 @@ /* Definitions of target machine for GNU compiler. Commodore Amiga A3000UX version. - Copyright (C) 1991 Free Software Foundation, Inc. + Copyright (C) 1991, 1993 Free Software Foundation, Inc. This file is part of GNU CC. @@ -98,9 +98,9 @@ do { \ #undef ASM_OUTPUT_ASCII #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ -{ \ +do { \ register int sp = 0, lp = 0, ch; \ - fprintf ((FILE), "\t%s ", BYTE_ASM_OP); \ + fprintf ((FILE), "\t%s ", BYTE_ASM_OP); \ do { \ ch = (PTR)[sp]; \ if (ch > ' ' && ! (ch & 0x80) && ch != '\\') \ @@ -124,7 +124,7 @@ do { \ } \ } while (sp < (LEN)); \ putc ('\n', (FILE)); \ -} +} while (0) /* The following should be unnecessary as a result of PIC_CASE_VECTOR_ADDRESS. But rhealey@aggregate.com says they are still needed. */ diff --git a/gcc/config/m68k/crds.h b/gcc/config/m68k/crds.h index ee2ed962496..81e6b736251 100644 --- a/gcc/config/m68k/crds.h +++ b/gcc/config/m68k/crds.h @@ -1,9 +1,6 @@ /* Definitions of target machine for GNU compiler. Charles River Data Systems UNiverse/32 - - Written by Gary E. Miller - bug reports to Gary_Edmunds_Miller@cup.portal.com - + Written by Gary E. Miller (Gary_Edmunds_Miller@cup.portal.com) Copyright (C) 1987, 1993 Free Software Foundation, Inc. This file is part of GNU CC. @@ -209,7 +206,7 @@ do { long l[2]; \ #undef ASM_OUTPUT_ASCII #define ASM_OUTPUT_ASCII(FILE, P , SIZE) \ -{ int i; \ +do { int i; \ fprintf ((FILE), "\t.ascii \""); \ for (i = 0; i < (SIZE); i++) \ { \ @@ -222,11 +219,11 @@ do { long l[2]; \ continue; \ } \ } \ - /* brain dead asm doesn't understand char escapes */ \ + /* brain dead asm doesn't understand char escapes */ \ fprintf ((FILE), "\"\n\t.byte\t%d\n\t.ascii \"", c); \ } \ fprintf ((FILE), "\"\n"); \ - } + } while (0) /* Change all JBxx to Bxx. Also change all DBRA to DBF. diff --git a/gcc/config/m68k/hp320.h b/gcc/config/m68k/hp320.h index d2ddec21c76..984c2de9835 100644 --- a/gcc/config/m68k/hp320.h +++ b/gcc/config/m68k/hp320.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. HP-UX 68000/68020 version. - Copyright (C) 1987, 1988 Free Software Foundation, Inc. + Copyright (C) 1987, 1988, 1993 Free Software Foundation, Inc. This file is part of GNU CC. @@ -594,7 +594,7 @@ do { long l[3]; \ }} #define ASM_OUTPUT_ASCII(f, p, size) \ -{ register int i; \ +do { register int i; \ int inside; \ inside = FALSE; \ for (i = 0; i < (size); i++) { \ @@ -628,7 +628,7 @@ do { long l[3]; \ if (inside) \ putc('"', (f)); \ putc('\n', (f)); \ -} +} while (0) /* Translate Motorola opcodes such as `jbeq' into SGS opcodes such as `beq.w'. diff --git a/gcc/config/m68k/m68kv4.h b/gcc/config/m68k/m68kv4.h index bd33a18494a..7533a740152 100644 --- a/gcc/config/m68k/m68kv4.h +++ b/gcc/config/m68k/m68kv4.h @@ -1,5 +1,5 @@ /* Target definitions for GNU compiler for mc680x0 running System V.4 - Copyright (C) 1991 Free Software Foundation, Inc. + Copyright (C) 1991, 1993 Free Software Foundation, Inc. Written by Ron Guilmette (rfg@ncd.com) and Fred Fish (fnf@cygnus.com). @@ -201,7 +201,7 @@ do { \ seems to be safer. */ #undef ASM_OUTPUT_ASCII #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ -{ \ +do { \ register int sp = 0, lp = 0, ch; \ fprintf ((FILE), "\t%s ", BYTE_ASM_OP); \ do { \ @@ -227,7 +227,7 @@ do { \ } \ } while (sp < (LEN)); \ putc ('\n', (FILE)); \ -} +} while (0) /* SVR4 m68k assembler is bitching on the syntax `2.b'. So use the "LLDnnn-LLnnn" format. Define LLDnnn after the table. */ diff --git a/gcc/config/m68k/mot3300.h b/gcc/config/m68k/mot3300.h index a3fbd7e5fbd..c63240219ca 100644 --- a/gcc/config/m68k/mot3300.h +++ b/gcc/config/m68k/mot3300.h @@ -1,12 +1,8 @@ /* Definitions of target machine for GNU compiler. SysV68 Motorola 3300 Delta Series - - Written by Abramo and Roberto Bagnara - after Alex Crain's 3B1 definitions. - - Bug reports to bagnara@dipisa.di.unipi.it - - Copyright (C) 1987 Free Software Foundation, Inc. + Copyright (C) 1987, 1993 Free Software Foundation, Inc. + Written by Abramo and Roberto Bagnara (bagnara@dipisa.di.unipi.it) + based on Alex Crain's 3B1 definitions. This file is part of GNU CC. @@ -418,7 +414,7 @@ do { long l; \ #undef ASM_OUTPUT_ASCII #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ - { register int sp = 0, lp = 0; \ + do { register int sp = 0, lp = 0; \ fprintf ((FILE), "\tbyte\t"); \ loop: \ if ((PTR)[sp] > ' ' && ! ((PTR)[sp] & 0x80) && (PTR)[sp] != '\\') \ @@ -434,7 +430,7 @@ do { long l; \ else \ putc (',', (FILE)); \ goto loop; } \ - putc ('\n', (FILE)); } + putc ('\n', (FILE)); } while (0) /* Print operand X (an rtx) in assembler syntax to file FILE. CODE is a letter or dot (`z' in `%z0') or 0 if no letter was specified. diff --git a/gcc/config/m68k/sgs.h b/gcc/config/m68k/sgs.h index a326489b2b7..588a3194a65 100644 --- a/gcc/config/m68k/sgs.h +++ b/gcc/config/m68k/sgs.h @@ -1,8 +1,6 @@ /* Definitions of target machine for GNU compiler for m68k targets using assemblers derived from AT&T "SGS" releases. - Copyright (C) 1991, 1993 Free Software Foundation, Inc. - Written by Fred Fish (fnf@cygnus.com) This file is part of GNU CC. @@ -164,7 +162,7 @@ do { long l; \ output the string one byte at a time. */ #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ -{ \ +do { \ register int sp = 0, lp = 0, ch; \ fprintf ((FILE), "\t%s ", BYTE_ASM_OP); \ do { \ @@ -190,7 +188,7 @@ do { long l; \ } \ } while (sp < (LEN)); \ putc ('\n', (FILE)); \ -} +} while (0) /* SGS based assemblers don't understand #NO_APP and #APP, so just don't diff --git a/gcc/config/m68k/tower-as.h b/gcc/config/m68k/tower-as.h index 699660bcd41..46d7eee1493 100644 --- a/gcc/config/m68k/tower-as.h +++ b/gcc/config/m68k/tower-as.h @@ -1,16 +1,13 @@ /* Definitions of target machine for GNU compiler. + For NCR Tower 32/4x0 and 32/6x0 running System V Release 3. Copyright (C) 1990, 1993 Free Software Foundation, Inc. + Written by Robert Andersson (ra@intsys.no), International Systems, + Oslo, Norway. - Written by Robert Andersson, International Systems, Oslo, Norway. - Send bug reports, questions and improvements to ra@intsys.no. - - For NCR Tower 32/4x0 and 32/6x0 running System V Release 3. This file outputs assembler source suitable for the native Tower as and with sdb debugging symbols. See tower.h for more comments. - This file was based on m68k.h, hp320.h and 3b1.h - as of the 1.37.1 version. - + This file was based on m68k.h, hp320.h and 3b1.h as of the 1.37.1 version. This file is part of GNU CC. @@ -90,7 +87,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ fprintf (FILE, "\tident\t\"%s\" \n", NAME) #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ - { register int sp = 0, lp = 0; \ + do { register int sp = 0, lp = 0; \ fprintf ((FILE), "\tbyte\t"); \ loop: \ if ((PTR)[sp] > ' ' && ! ((PTR)[sp] & 0x80) && (PTR)[sp] != '\\') \ @@ -106,7 +103,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ else \ putc (',', (FILE)); \ goto loop; } \ - putc ('\n', (FILE)); } + putc ('\n', (FILE)); } while (0) /* Translate Motorola opcodes such as `jbeq' into SGS/Tower opcodes such as `beq.w'. diff --git a/gcc/config/mips/iris4.h b/gcc/config/mips/iris4.h index 2aab3eb6187..9d17bd10aa0 100644 --- a/gcc/config/mips/iris4.h +++ b/gcc/config/mips/iris4.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. Iris version 4. - Copyright (C) 1991 Free Software Foundation, Inc. + Copyright (C) 1991, 1993 Free Software Foundation, Inc. This file is part of GNU CC. @@ -27,7 +27,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ The quickest way to avoid the problem is not to use .ascii. */ #undef ASM_OUTPUT_ASCII #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ -{ \ +do { \ unsigned char *s; \ int i; \ for (i = 0, s = (unsigned char *)(PTR); i < (LEN); s++, i++) \ @@ -37,4 +37,4 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \ } \ fputs ("\n", (FILE)); \ -} +} while (0) diff --git a/gcc/config/ns32k/encore.h b/gcc/config/ns32k/encore.h index 20a35734581..9550360f27d 100644 --- a/gcc/config/ns32k/encore.h +++ b/gcc/config/ns32k/encore.h @@ -1,7 +1,7 @@ /* Definitions of target machine for GNU compiler. ENCORE NS32000 version. - Copyright (C) 1988 Free Software Foundation, Inc. + Copyright (C) 1988, 1993 Free Software Foundation, Inc. Adapted by Robert Brown (brown@harvard.harvard.edu) from the Sequent - version by Michael Tiemann (tiemann@mcc.com). + version by Michael Tiemann (tiemann@mcc.com). This file is part of GNU CC. @@ -149,7 +149,7 @@ do { \ } \ } \ fprintf ((file), "\"\n"); \ -} +} while (0) /* Modify syntax of jsr instructions. */ #define CALL_MEMREF_IMPLICIT diff --git a/gcc/config/tahoe/harris.h b/gcc/config/tahoe/harris.h index 2c6476dac99..ca7274bdf22 100644 --- a/gcc/config/tahoe/harris.h +++ b/gcc/config/tahoe/harris.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. Harris tahoe version. - Copyright (C) 1989 Free Software Foundation, Inc. + Copyright (C) 1989, 1993 Free Software Foundation, Inc. This file is part of GNU CC. @@ -65,7 +65,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ output_file_directive ((FILE), main_input_filename); #define ASM_OUTPUT_ASCII(FILE, PTR, SIZE) \ -{ \ +do { \ unsigned char *_p = (PTR); \ int _thissize = (SIZE); \ fprintf ((FILE), "\t.ascii \""); \ @@ -83,4 +83,4 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ } \ } \ fprintf ((FILE), "\"\n"); \ -} +} while (0) diff --git a/gcc/config/tahoe/tahoe.h b/gcc/config/tahoe/tahoe.h index 607c98824a2..0e1af7dd457 100644 --- a/gcc/config/tahoe/tahoe.h +++ b/gcc/config/tahoe/tahoe.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. Tahoe version. - Copyright (C) 1989 Free Software Foundation, Inc. + Copyright (C) 1989, 1993 Free Software Foundation, Inc. This file is part of GNU CC. @@ -25,9 +25,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ * * HCX/UX version by Piet van Oostrum (piet@cs.ruu.nl) * - * Performance hacking by Michael Tiemann (tiemann@lurch.stanford.edu) - * - * Mail bugs reports or fixes to: gcc@cs.buffalo.edu + * Performance hacking by Michael Tiemann (tiemann@cygnus.com) */ /* define this for the HCX/UX version */ @@ -860,7 +858,7 @@ enum reg_class {NO_REGS,GENERAL_REGS,FPP_REG,ALL_REGS,LIM_REG_CLASSES}; /* This is how to output an assembler line for an ASCII string. */ #define ASM_OUTPUT_ASCII(FILE, p, size) \ -{ register int i; \ +do { register int i; \ fprintf ((FILE), "\t.ascii \""); \ for (i = 0; i < (size); i++) \ { \ @@ -874,7 +872,7 @@ enum reg_class {NO_REGS,GENERAL_REGS,FPP_REG,ALL_REGS,LIM_REG_CLASSES}; fprintf ((FILE), "\\%03o", c); \ } \ } \ - fprintf ((FILE), "\"\n"); } + fprintf ((FILE), "\"\n"); } while (0) #endif /* This is how to output an assembler line for a numeric constant byte. */ diff --git a/gcc/config/vax/vaxv.h b/gcc/config/vax/vaxv.h index 60c09019a83..133452b3cc8 100644 --- a/gcc/config/vax/vaxv.h +++ b/gcc/config/vax/vaxv.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. Vax sysV version. - Copyright (C) 1988 Free Software Foundation, Inc. + Copyright (C) 1988, 1993 Free Software Foundation, Inc. This file is part of GNU CC. @@ -51,8 +51,8 @@ output_file_directive ((FILE), main_input_filename) fprintf ((FILE), ":\n\t.space %u\n", (ROUNDED))) #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ -{ \ - unsigned char *s; \ +do { \ + unsigned char *s; \ int i; \ for (i = 0, s = (PTR); i < (LEN); s++, i++) \ { \ @@ -61,7 +61,7 @@ output_file_directive ((FILE), main_input_filename) fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \ } \ fputs ("\n", (FILE)); \ -} +} while (0) #undef ASM_OUTPUT_DOUBLE #define ASM_OUTPUT_DOUBLE(FILE,VALUE) \ diff --git a/gcc/config/we32k/we32k.h b/gcc/config/we32k/we32k.h index a48e052e6a8..9282e32ac02 100644 --- a/gcc/config/we32k/we32k.h +++ b/gcc/config/we32k/we32k.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler. AT&T we32000 version. + Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc. Contributed by John Wehle (john@feith1.uucp) - Copyright (C) 1991-1992 Free Software Foundation, Inc. This file is part of GNU CC. @@ -857,7 +857,7 @@ do { union { float f; long l;} tem; \ fprintf (FILE, "\t.byte 0x%x\n", (VALUE)) #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ -{ \ +do { \ unsigned char *s; \ int i; \ for (i = 0, s = (unsigned char *)(PTR); i < (LEN); s++, i++) \ @@ -867,7 +867,7 @@ do { union { float f; long l;} tem; \ fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \ } \ fputs ("\n", (FILE)); \ -} +} while (0) /* This is how to output an insn to push a register on the stack. It need not be very fast code. */ -- 2.30.2