sysv4.h (ASM_OUTPUT_LABELREF): Don't write to constant data.
authorRichard Henderson <rth@redhat.com>
Fri, 3 Aug 2001 08:43:07 +0000 (01:43 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 3 Aug 2001 08:43:07 +0000 (01:43 -0700)
        * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
        constant data.

From-SVN: r44596

gcc/ChangeLog
gcc/config/ia64/sysv4.h

index a9efa52b45b5423a74228fce500da0df02f23f1f..58cda91f602081e3328397124c2c67ce421db705 100644 (file)
@@ -1,3 +1,8 @@
+2001-08-03  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
+       constant data.
+
 2001-08-03  Richard Henderson  <rth@redhat.com>
 
        * rtlanal.c (find_first_parameter_load): Stop if we
index 02da9e47ebcf3c6d9dbcf7d83e411f42dcac03d5..de39c1ebc5fe9c4271175d5c0788ccf4d848c5c1 100644 (file)
@@ -62,25 +62,23 @@ do {                                                                        \
 #define ASM_OUTPUT_LABELREF(STREAM, NAME)                              \
   do                                                                   \
     {                                                                  \
-      const char * real_name;                                          \
-      const char * name_end;                                           \
+      const char *real_name;                                           \
+      const char *name_end;                                            \
                                                                        \
       STRIP_NAME_ENCODING (real_name, NAME);                           \
       name_end = strchr (real_name, '+');                              \
                                                                        \
+      fputs (user_label_prefix, STREAM);                               \
       if (name_end)                                                    \
-       * name_end = 0;                                                 \
-                                                                       \
-      asm_fprintf (STREAM, "%U%s", real_name);                         \
+       fwrite (real_name, name_end - real_name, 1, STREAM);            \
+      else                                                             \
+       fputs (real_name, STREAM);                                      \
                                                                        \
       if (ia64_asm_output_label)                                       \
-       asm_fprintf (STREAM, "#");                                      \
+       fputc ('#', STREAM);                                            \
                                                                        \
       if (name_end)                                                    \
-       {                                                               \
-         * name_end = '+';                                             \
-         asm_fprintf (STREAM, name_end);                               \
-       }                                                               \
+       fputs (name_end, STREAM);                                       \
     }                                                                  \
   while (0)