OSDN Git Service

merge from gcc
authorDJ Delorie <dj@delorie.com>
Fri, 23 Mar 2001 23:57:50 +0000 (23:57 +0000)
committerDJ Delorie <dj@delorie.com>
Fri, 23 Mar 2001 23:57:50 +0000 (23:57 +0000)
libiberty/ChangeLog
libiberty/cp-demangle.c

index f6e537f..5780bcd 100644 (file)
@@ -1,3 +1,8 @@
+2001-03-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * cp-demangle.c (demangle_discriminator): `_0' is discriminator #1,
+       `_' not followed by a digit is invalid.
+
 2001-03-22  Jim Blandy  <jimb@redhat.com>
 
        * cp-demangle.c (string_list_delete): Use dyn_string_delete
index b8255b3..8419eef 100644 (file)
@@ -3446,15 +3446,11 @@ demangle_discriminator (dm, suppress_first)
            /* Write the discriminator.  The mangled number is two
               less than the discriminator ordinal, counting from
               zero.  */
-           RETURN_IF_ERROR (int_to_dyn_string (discriminator + 2, 
+           RETURN_IF_ERROR (int_to_dyn_string (discriminator + 1,
                                                (dyn_string_t) dm->result));
        }
       else
-       {
-         if (flag_verbose)
-           /* A missing digit correspond to one.  */
-           RETURN_IF_ERROR (result_add_char (dm, '1'));
-       }
+       return STATUS_ERROR;
       if (flag_verbose)
        RETURN_IF_ERROR (result_add_char (dm, ']'));
     }