aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@redhat.com>2004-02-03 22:38:34 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2004-02-03 22:38:34 +0000
commit584e5527f93a30910ad0b8e694cae2f10e04d7ee (patch)
tree064b7e1d5b05db94486ddee26a50d04a7f259f96 /gcc/config
parent9b2b33751f07f30f97a0cfc1ddbff33b4e7c9e30 (diff)
downloadgcc-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.h5
-rw-r--r--gcc/config/mips/mips-protos.h2
-rw-r--r--gcc/config/mips/mips.c11
-rw-r--r--gcc/config/mips/mips.h2
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