diff options
author | Richard Sandiford <rsandifo@redhat.com> | 2004-02-03 22:38:34 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2004-02-03 22:38:34 +0000 |
commit | 584e5527f93a30910ad0b8e694cae2f10e04d7ee (patch) | |
tree | 064b7e1d5b05db94486ddee26a50d04a7f259f96 /gcc/config | |
parent | 9b2b33751f07f30f97a0cfc1ddbff33b4e7c9e30 (diff) | |
download | gcc-584e5527f93a30910ad0b8e694cae2f10e04d7ee.zip gcc-584e5527f93a30910ad0b8e694cae2f10e04d7ee.tar.gz gcc-584e5527f93a30910ad0b8e694cae2f10e04d7ee.tar.bz2 |
iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to put the original string in a comment.
* config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to
put the original string in a comment.
* config/mips/mips-protos.h (mips_output_ascii): Add prefix argument.
* config/mips/mips.c (mips_output_ascii): Likewise.
* config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly.
From-SVN: r77195
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/mips/iris5.h | 5 | ||||
-rw-r--r-- | gcc/config/mips/mips-protos.h | 2 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 11 | ||||
-rw-r--r-- | gcc/config/mips/mips.h | 2 |
4 files changed, 13 insertions, 7 deletions
diff --git a/gcc/config/mips/iris5.h b/gcc/config/mips/iris5.h index 41de652..c1edeed 100644 --- a/gcc/config/mips/iris5.h +++ b/gcc/config/mips/iris5.h @@ -193,13 +193,16 @@ Boston, MA 02111-1307, USA. */ #define MIPS_DEFAULT_GVALUE 0 /* Some assemblers have a bug that causes backslash escaped chars in .ascii - to be misassembled, so we just completely avoid it. */ + to be misassembled, so avoid it by using .byte instead. Write the original + string in a comment, partly to improve readability and partly for the sake + of scan-assembler-type tests. */ #undef ASM_OUTPUT_ASCII #define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \ do { \ const unsigned char *s_ = (const unsigned char *)(PTR); \ unsigned len_ = (LEN); \ unsigned i_; \ + mips_output_ascii (FILE, (const char *) s_, len_, "\t# "); \ for (i_ = 0; i_ < len_; s_++, i_++) \ { \ if ((i_ % 8) == 0) \ diff --git a/gcc/config/mips/mips-protos.h b/gcc/config/mips/mips-protos.h index 5c0081f..8a55e1a 100644 --- a/gcc/config/mips/mips-protos.h +++ b/gcc/config/mips/mips-protos.h @@ -101,7 +101,7 @@ extern void irix_output_external_libcall (rtx); #endif extern void mips_output_filename (FILE *, const char *); extern void mips_output_lineno (FILE *, int); -extern void mips_output_ascii (FILE *, const char *, size_t); +extern void mips_output_ascii (FILE *, const char *, size_t, const char *); extern void mips_output_aligned_bss (FILE *, tree, const char *, unsigned HOST_WIDE_INT, int); extern void mips_declare_object (FILE *, const char *, const char *, diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 44ed4f8..9b07a0d 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -5816,17 +5816,20 @@ mips_output_lineno (FILE *stream, int line) } } -/* Output an ASCII string, in a space-saving way. */ +/* Output an ASCII string, in a space-saving way. PREFIX is the string + that should be written before the opening quote, such as "\t.ascii\t" + for real string data or "\t# " for a comment. */ void -mips_output_ascii (FILE *stream, const char *string_param, size_t len) +mips_output_ascii (FILE *stream, const char *string_param, size_t len, + const char *prefix) { size_t i; int cur_pos = 17; register const unsigned char *string = (const unsigned char *)string_param; - fprintf (stream, "\t.ascii\t\""); + fprintf (stream, "%s\"", prefix); for (i = 0; i < len; i++) { register int c = string[i]; @@ -5886,7 +5889,7 @@ mips_output_ascii (FILE *stream, const char *string_param, size_t len) if (cur_pos > 72 && i+1 < len) { cur_pos = 17; - fprintf (stream, "\"\n\t.ascii\t\""); + fprintf (stream, "\"\n%s\"", prefix); } } fprintf (stream, "\"\n"); diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index 9541c4e..6b137e4 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -3301,7 +3301,7 @@ do { \ /* This is how to output a string. */ #undef ASM_OUTPUT_ASCII #define ASM_OUTPUT_ASCII(STREAM, STRING, LEN) \ - mips_output_ascii (STREAM, STRING, LEN) + mips_output_ascii (STREAM, STRING, LEN, "\t.ascii\t") /* Output #ident as a in the read-only data section. */ #undef ASM_OUTPUT_IDENT |