Commit 9e269f72 by Richard Kenner

(ASM_OUTPUT_ASCII): Wrap in `do { ... } while (0)'.

From-SVN: r6225
parent 389bb508
/* Definitions of target machine for GNU compiler. Vax sysV version. /* Definitions of target machine for GNU compiler. Clipper/Clix version.
Copyright (C) 1988 Free Software Foundation, Inc. Copyright (C) 1988, 1993 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -38,7 +38,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -38,7 +38,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define HAVE_ATEXIT #define HAVE_ATEXIT
#define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \
{ \ do { \
unsigned char *s; \ unsigned char *s; \
int i; \ int i; \
for (i = 0, s = (unsigned char *)(PTR); i < (LEN); s++, 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. */ ...@@ -48,7 +48,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \ fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \
} \ } \
fputs ("\n", (FILE)); \ fputs ("\n", (FILE)); \
} } while (0)
#undef ASM_OUTPUT_DOUBLE #undef ASM_OUTPUT_DOUBLE
#define ASM_OUTPUT_DOUBLE(FILE,VALUE) \ #define ASM_OUTPUT_DOUBLE(FILE,VALUE) \
......
/* Definitions of target machine for GNU compiler. Alliant FX version. /* 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) Adapted from m68k.h by Paul Petersen (petersen@uicsrd.csrd.uiuc.edu)
and Joe Weening (weening@gang-of-four.stanford.edu). and Joe Weening (weening@gang-of-four.stanford.edu).
...@@ -1117,14 +1117,14 @@ do { union { float f; long l;} tem; \ ...@@ -1117,14 +1117,14 @@ do { union { float f; long l;} tem; \
fprintf (FILE, "\n")) fprintf (FILE, "\n"))
#define ASM_OUTPUT_ASCII(FILE,PTR,SIZE) \ #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++); \ fprintf((FILE), "\t.byte %d", (unsigned int)*pp++); \
for (i = 1; i < (SIZE); ++i, ++pp) { \ for (i = 1; i < (SIZE); ++i, ++pp) { \
if ((i % 8) == 0) \ if ((i % 8) == 0) \
fprintf((FILE), "\n\t.byte %d", (unsigned int) *pp); \ fprintf((FILE), "\n\t.byte %d", (unsigned int) *pp); \
else \ else \
fprintf((FILE), ",%d", (unsigned int) *pp); } \ 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. */ /* This is how to output an assembler line for a numeric constant byte. */
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#define ASCII_DATA_ASM_OP ".byte" #define ASCII_DATA_ASM_OP ".byte"
#define ASM_OUTPUT_ASCII(f, p, size) \ #define ASM_OUTPUT_ASCII(f, p, size) \
{ register unsigned i; \ do { register unsigned i; \
int inside; \ int inside; \
inside = FALSE; \ inside = FALSE; \
for (i = 0; i < (size); i++) { \ for (i = 0; i < (size); i++) { \
...@@ -43,4 +43,4 @@ ...@@ -43,4 +43,4 @@
if (inside) \ if (inside) \
putc('"', (f)); \ putc('"', (f)); \
putc('\n', (f)); \ putc('\n', (f)); \
} } while (0)
/* Definitions of target machine for GNU compiler. /* Definitions of target machine for GNU compiler.
AT&T UNIX PC version (pc7300, 3b1) AT&T UNIX PC version (pc7300, 3b1)
Written by Alex Crain (alex@umbc3.umd.edu).
Written by Alex Crain Copyright (C) 1987, 1993 Free Software Foundation, Inc.
bug reports to alex@umbc3.umd.edu
Copyright (C) 1987 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -194,7 +192,7 @@ do { long l; \ ...@@ -194,7 +192,7 @@ do { long l; \
/* Yet another null terminated string format. */ /* Yet another null terminated string format. */
#define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \
{ register int sp = 0, lp = 0; \ do { register int sp = 0, lp = 0; \
fprintf ((FILE), "\tbyte\t"); \ fprintf ((FILE), "\tbyte\t"); \
loop: \ loop: \
if ((PTR)[sp] > ' ' && ! ((PTR)[sp] & 0x80) && (PTR)[sp] != '\\') \ if ((PTR)[sp] > ' ' && ! ((PTR)[sp] & 0x80) && (PTR)[sp] != '\\') \
...@@ -210,7 +208,7 @@ do { long l; \ ...@@ -210,7 +208,7 @@ do { long l; \
else \ else \
putc (',', (FILE)); \ putc (',', (FILE)); \
goto loop; } \ goto loop; } \
putc ('\n', (FILE)); } putc ('\n', (FILE)); } while (0)
/* Note that in the case of the movhi which fetches an element of /* 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. an ADDR_DIFF_VEC the offset output is too large by 2.
......
/* Definitions of target machine for GNU compiler. /* Definitions of target machine for GNU compiler.
Commodore Amiga A3000UX version. 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. This file is part of GNU CC.
...@@ -98,9 +98,9 @@ do { \ ...@@ -98,9 +98,9 @@ do { \
#undef ASM_OUTPUT_ASCII #undef ASM_OUTPUT_ASCII
#define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \
{ \ do { \
register int sp = 0, lp = 0, ch; \ register int sp = 0, lp = 0, ch; \
fprintf ((FILE), "\t%s ", BYTE_ASM_OP); \ fprintf ((FILE), "\t%s ", BYTE_ASM_OP); \
do { \ do { \
ch = (PTR)[sp]; \ ch = (PTR)[sp]; \
if (ch > ' ' && ! (ch & 0x80) && ch != '\\') \ if (ch > ' ' && ! (ch & 0x80) && ch != '\\') \
...@@ -124,7 +124,7 @@ do { \ ...@@ -124,7 +124,7 @@ do { \
} \ } \
} while (sp < (LEN)); \ } while (sp < (LEN)); \
putc ('\n', (FILE)); \ putc ('\n', (FILE)); \
} } while (0)
/* The following should be unnecessary as a result of PIC_CASE_VECTOR_ADDRESS. /* The following should be unnecessary as a result of PIC_CASE_VECTOR_ADDRESS.
But rhealey@aggregate.com says they are still needed. */ But rhealey@aggregate.com says they are still needed. */
......
/* Definitions of target machine for GNU compiler. /* Definitions of target machine for GNU compiler.
Charles River Data Systems UNiverse/32 Charles River Data Systems UNiverse/32
Written by Gary E. Miller (Gary_Edmunds_Miller@cup.portal.com)
Written by Gary E. Miller
bug reports to Gary_Edmunds_Miller@cup.portal.com
Copyright (C) 1987, 1993 Free Software Foundation, Inc. Copyright (C) 1987, 1993 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -209,7 +206,7 @@ do { long l[2]; \ ...@@ -209,7 +206,7 @@ do { long l[2]; \
#undef ASM_OUTPUT_ASCII #undef ASM_OUTPUT_ASCII
#define ASM_OUTPUT_ASCII(FILE, P , SIZE) \ #define ASM_OUTPUT_ASCII(FILE, P , SIZE) \
{ int i; \ do { int i; \
fprintf ((FILE), "\t.ascii \""); \ fprintf ((FILE), "\t.ascii \""); \
for (i = 0; i < (SIZE); i++) \ for (i = 0; i < (SIZE); i++) \
{ \ { \
...@@ -222,11 +219,11 @@ do { long l[2]; \ ...@@ -222,11 +219,11 @@ do { long l[2]; \
continue; \ 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\t.byte\t%d\n\t.ascii \"", c); \
} \ } \
fprintf ((FILE), "\"\n"); \ fprintf ((FILE), "\"\n"); \
} } while (0)
/* Change all JBxx to Bxx. Also change all DBRA to DBF. /* Change all JBxx to Bxx. Also change all DBRA to DBF.
......
/* Definitions of target machine for GNU compiler. HP-UX 68000/68020 version. /* 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. This file is part of GNU CC.
...@@ -594,7 +594,7 @@ do { long l[3]; \ ...@@ -594,7 +594,7 @@ do { long l[3]; \
}} }}
#define ASM_OUTPUT_ASCII(f, p, size) \ #define ASM_OUTPUT_ASCII(f, p, size) \
{ register int i; \ do { register int i; \
int inside; \ int inside; \
inside = FALSE; \ inside = FALSE; \
for (i = 0; i < (size); i++) { \ for (i = 0; i < (size); i++) { \
...@@ -628,7 +628,7 @@ do { long l[3]; \ ...@@ -628,7 +628,7 @@ do { long l[3]; \
if (inside) \ if (inside) \
putc('"', (f)); \ putc('"', (f)); \
putc('\n', (f)); \ putc('\n', (f)); \
} } while (0)
/* Translate Motorola opcodes such as `jbeq' /* Translate Motorola opcodes such as `jbeq'
into SGS opcodes such as `beq.w'. into SGS opcodes such as `beq.w'.
......
/* Target definitions for GNU compiler for mc680x0 running System V.4 /* 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). Written by Ron Guilmette (rfg@ncd.com) and Fred Fish (fnf@cygnus.com).
...@@ -201,7 +201,7 @@ do { \ ...@@ -201,7 +201,7 @@ do { \
seems to be safer. */ seems to be safer. */
#undef ASM_OUTPUT_ASCII #undef ASM_OUTPUT_ASCII
#define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \
{ \ do { \
register int sp = 0, lp = 0, ch; \ register int sp = 0, lp = 0, ch; \
fprintf ((FILE), "\t%s ", BYTE_ASM_OP); \ fprintf ((FILE), "\t%s ", BYTE_ASM_OP); \
do { \ do { \
...@@ -227,7 +227,7 @@ do { \ ...@@ -227,7 +227,7 @@ do { \
} \ } \
} while (sp < (LEN)); \ } while (sp < (LEN)); \
putc ('\n', (FILE)); \ putc ('\n', (FILE)); \
} } while (0)
/* SVR4 m68k assembler is bitching on the syntax `2.b'. /* SVR4 m68k assembler is bitching on the syntax `2.b'.
So use the "LLDnnn-LLnnn" format. Define LLDnnn after the table. */ So use the "LLDnnn-LLnnn" format. Define LLDnnn after the table. */
......
/* Definitions of target machine for GNU compiler. /* Definitions of target machine for GNU compiler.
SysV68 Motorola 3300 Delta Series SysV68 Motorola 3300 Delta Series
Copyright (C) 1987, 1993 Free Software Foundation, Inc.
Written by Abramo and Roberto Bagnara Written by Abramo and Roberto Bagnara (bagnara@dipisa.di.unipi.it)
after Alex Crain's 3B1 definitions. based on Alex Crain's 3B1 definitions.
Bug reports to bagnara@dipisa.di.unipi.it
Copyright (C) 1987 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -418,7 +414,7 @@ do { long l; \ ...@@ -418,7 +414,7 @@ do { long l; \
#undef ASM_OUTPUT_ASCII #undef ASM_OUTPUT_ASCII
#define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \
{ register int sp = 0, lp = 0; \ do { register int sp = 0, lp = 0; \
fprintf ((FILE), "\tbyte\t"); \ fprintf ((FILE), "\tbyte\t"); \
loop: \ loop: \
if ((PTR)[sp] > ' ' && ! ((PTR)[sp] & 0x80) && (PTR)[sp] != '\\') \ if ((PTR)[sp] > ' ' && ! ((PTR)[sp] & 0x80) && (PTR)[sp] != '\\') \
...@@ -434,7 +430,7 @@ do { long l; \ ...@@ -434,7 +430,7 @@ do { long l; \
else \ else \
putc (',', (FILE)); \ putc (',', (FILE)); \
goto loop; } \ goto loop; } \
putc ('\n', (FILE)); } putc ('\n', (FILE)); } while (0)
/* Print operand X (an rtx) in assembler syntax to file FILE. /* 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. CODE is a letter or dot (`z' in `%z0') or 0 if no letter was specified.
......
/* Definitions of target machine for GNU compiler for m68k targets using /* Definitions of target machine for GNU compiler for m68k targets using
assemblers derived from AT&T "SGS" releases. assemblers derived from AT&T "SGS" releases.
Copyright (C) 1991, 1993 Free Software Foundation, Inc. Copyright (C) 1991, 1993 Free Software Foundation, Inc.
Written by Fred Fish (fnf@cygnus.com) Written by Fred Fish (fnf@cygnus.com)
This file is part of GNU CC. This file is part of GNU CC.
...@@ -164,7 +162,7 @@ do { long l; \ ...@@ -164,7 +162,7 @@ do { long l; \
output the string one byte at a time. */ output the string one byte at a time. */
#define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \
{ \ do { \
register int sp = 0, lp = 0, ch; \ register int sp = 0, lp = 0, ch; \
fprintf ((FILE), "\t%s ", BYTE_ASM_OP); \ fprintf ((FILE), "\t%s ", BYTE_ASM_OP); \
do { \ do { \
...@@ -190,7 +188,7 @@ do { long l; \ ...@@ -190,7 +188,7 @@ do { long l; \
} \ } \
} while (sp < (LEN)); \ } while (sp < (LEN)); \
putc ('\n', (FILE)); \ putc ('\n', (FILE)); \
} } while (0)
/* SGS based assemblers don't understand #NO_APP and #APP, so just don't /* SGS based assemblers don't understand #NO_APP and #APP, so just don't
......
/* Definitions of target machine for GNU compiler. /* 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. 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 This file outputs assembler source suitable for the native Tower as
and with sdb debugging symbols. See tower.h for more comments. and with sdb debugging symbols. See tower.h for more comments.
This file was based on m68k.h, hp320.h and 3b1.h This file was based on m68k.h, hp320.h and 3b1.h as of the 1.37.1 version.
as of the 1.37.1 version.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -90,7 +87,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -90,7 +87,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fprintf (FILE, "\tident\t\"%s\" \n", NAME) fprintf (FILE, "\tident\t\"%s\" \n", NAME)
#define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \
{ register int sp = 0, lp = 0; \ do { register int sp = 0, lp = 0; \
fprintf ((FILE), "\tbyte\t"); \ fprintf ((FILE), "\tbyte\t"); \
loop: \ loop: \
if ((PTR)[sp] > ' ' && ! ((PTR)[sp] & 0x80) && (PTR)[sp] != '\\') \ if ((PTR)[sp] > ' ' && ! ((PTR)[sp] & 0x80) && (PTR)[sp] != '\\') \
...@@ -106,7 +103,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -106,7 +103,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
else \ else \
putc (',', (FILE)); \ putc (',', (FILE)); \
goto loop; } \ goto loop; } \
putc ('\n', (FILE)); } putc ('\n', (FILE)); } while (0)
/* Translate Motorola opcodes such as `jbeq' /* Translate Motorola opcodes such as `jbeq'
into SGS/Tower opcodes such as `beq.w'. into SGS/Tower opcodes such as `beq.w'.
......
/* Definitions of target machine for GNU compiler. Iris version 4. /* 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. This file is part of GNU CC.
...@@ -27,7 +27,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -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. */ The quickest way to avoid the problem is not to use .ascii. */
#undef ASM_OUTPUT_ASCII #undef ASM_OUTPUT_ASCII
#define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \
{ \ do { \
unsigned char *s; \ unsigned char *s; \
int i; \ int i; \
for (i = 0, s = (unsigned char *)(PTR); i < (LEN); s++, 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. */ ...@@ -37,4 +37,4 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \ fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \
} \ } \
fputs ("\n", (FILE)); \ fputs ("\n", (FILE)); \
} } while (0)
/* Definitions of target machine for GNU compiler. ENCORE NS32000 version. /* 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 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. This file is part of GNU CC.
...@@ -149,7 +149,7 @@ do { \ ...@@ -149,7 +149,7 @@ do { \
} \ } \
} \ } \
fprintf ((file), "\"\n"); \ fprintf ((file), "\"\n"); \
} } while (0)
/* Modify syntax of jsr instructions. */ /* Modify syntax of jsr instructions. */
#define CALL_MEMREF_IMPLICIT #define CALL_MEMREF_IMPLICIT
......
/* Definitions of target machine for GNU compiler. Harris tahoe version. /* 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. This file is part of GNU CC.
...@@ -65,7 +65,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -65,7 +65,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
output_file_directive ((FILE), main_input_filename); output_file_directive ((FILE), main_input_filename);
#define ASM_OUTPUT_ASCII(FILE, PTR, SIZE) \ #define ASM_OUTPUT_ASCII(FILE, PTR, SIZE) \
{ \ do { \
unsigned char *_p = (PTR); \ unsigned char *_p = (PTR); \
int _thissize = (SIZE); \ int _thissize = (SIZE); \
fprintf ((FILE), "\t.ascii \""); \ fprintf ((FILE), "\t.ascii \""); \
...@@ -83,4 +83,4 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -83,4 +83,4 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
} \ } \
} \ } \
fprintf ((FILE), "\"\n"); \ fprintf ((FILE), "\"\n"); \
} } while (0)
/* Definitions of target machine for GNU compiler. Tahoe version. /* 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. This file is part of GNU CC.
...@@ -25,9 +25,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -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) * HCX/UX version by Piet van Oostrum (piet@cs.ruu.nl)
* *
* Performance hacking by Michael Tiemann (tiemann@lurch.stanford.edu) * Performance hacking by Michael Tiemann (tiemann@cygnus.com)
*
* Mail bugs reports or fixes to: gcc@cs.buffalo.edu
*/ */
/* define this for the HCX/UX version */ /* 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}; ...@@ -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. */ /* This is how to output an assembler line for an ASCII string. */
#define ASM_OUTPUT_ASCII(FILE, p, size) \ #define ASM_OUTPUT_ASCII(FILE, p, size) \
{ register int i; \ do { register int i; \
fprintf ((FILE), "\t.ascii \""); \ fprintf ((FILE), "\t.ascii \""); \
for (i = 0; i < (size); i++) \ for (i = 0; i < (size); i++) \
{ \ { \
...@@ -874,7 +872,7 @@ enum reg_class {NO_REGS,GENERAL_REGS,FPP_REG,ALL_REGS,LIM_REG_CLASSES}; ...@@ -874,7 +872,7 @@ enum reg_class {NO_REGS,GENERAL_REGS,FPP_REG,ALL_REGS,LIM_REG_CLASSES};
fprintf ((FILE), "\\%03o", c); \ fprintf ((FILE), "\\%03o", c); \
} \ } \
} \ } \
fprintf ((FILE), "\"\n"); } fprintf ((FILE), "\"\n"); } while (0)
#endif #endif
/* This is how to output an assembler line for a numeric constant byte. */ /* This is how to output an assembler line for a numeric constant byte. */
......
/* Definitions of target machine for GNU compiler. Vax sysV version. /* 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. This file is part of GNU CC.
...@@ -51,8 +51,8 @@ output_file_directive ((FILE), main_input_filename) ...@@ -51,8 +51,8 @@ output_file_directive ((FILE), main_input_filename)
fprintf ((FILE), ":\n\t.space %u\n", (ROUNDED))) fprintf ((FILE), ":\n\t.space %u\n", (ROUNDED)))
#define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \
{ \ do { \
unsigned char *s; \ unsigned char *s; \
int i; \ int i; \
for (i = 0, s = (PTR); i < (LEN); s++, i++) \ for (i = 0, s = (PTR); i < (LEN); s++, i++) \
{ \ { \
...@@ -61,7 +61,7 @@ output_file_directive ((FILE), main_input_filename) ...@@ -61,7 +61,7 @@ output_file_directive ((FILE), main_input_filename)
fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \ fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \
} \ } \
fputs ("\n", (FILE)); \ fputs ("\n", (FILE)); \
} } while (0)
#undef ASM_OUTPUT_DOUBLE #undef ASM_OUTPUT_DOUBLE
#define ASM_OUTPUT_DOUBLE(FILE,VALUE) \ #define ASM_OUTPUT_DOUBLE(FILE,VALUE) \
......
/* Definitions of target machine for GNU compiler. AT&T we32000 version. /* 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) Contributed by John Wehle (john@feith1.uucp)
Copyright (C) 1991-1992 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -857,7 +857,7 @@ do { union { float f; long l;} tem; \ ...@@ -857,7 +857,7 @@ do { union { float f; long l;} tem; \
fprintf (FILE, "\t.byte 0x%x\n", (VALUE)) fprintf (FILE, "\t.byte 0x%x\n", (VALUE))
#define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \
{ \ do { \
unsigned char *s; \ unsigned char *s; \
int i; \ int i; \
for (i = 0, s = (unsigned char *)(PTR); i < (LEN); s++, i++) \ for (i = 0, s = (unsigned char *)(PTR); i < (LEN); s++, i++) \
...@@ -867,7 +867,7 @@ do { union { float f; long l;} tem; \ ...@@ -867,7 +867,7 @@ do { union { float f; long l;} tem; \
fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \ fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \
} \ } \
fputs ("\n", (FILE)); \ fputs ("\n", (FILE)); \
} } while (0)
/* This is how to output an insn to push a register on the stack. /* This is how to output an insn to push a register on the stack.
It need not be very fast code. */ It need not be very fast code. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment