merge from gcc
authorDJ Delorie <dj@redhat.com>
Thu, 9 Aug 2001 00:05:37 +0000 (00:05 +0000)
committerDJ Delorie <dj@redhat.com>
Thu, 9 Aug 2001 00:05:37 +0000 (00:05 +0000)
libiberty/ChangeLog
libiberty/cp-demangle.c

index 0bd81a6b1c6db9d9f512ac752e9155c15002b2db..c3fdb22c1512e5c90f99309a552a980afde425bb 100644 (file)
@@ -1,3 +1,8 @@
+2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
+
+       * cp-demangle.c (demangle_special_name): "GR" -> "reference temporary
+       for".
+
 2001-08-03  Richard Henderson  <rth@redhat.com>
 
        * Makefile.in (concat.o): Depend on config.h.
index a6a2c1e9f1a56c6d74d67a3a4b1330e69bf57fb9..5ee8a2b457c8e635b0a365f8e21cf468e50b2472 100644 (file)
@@ -1842,11 +1842,27 @@ demangle_special_name (dm)
 
   if (peek == 'G')
     {
-      /* A guard variable name.  Consume the G.  */
+      /* Consume the G.  */
       advance_char (dm);
-      RETURN_IF_ERROR (demangle_char (dm, 'V'));
-      RETURN_IF_ERROR (result_add (dm, "guard variable for "));
-      RETURN_IF_ERROR (demangle_name (dm, &unused));
+      switch (peek_char (dm))
+       {
+       case 'V':
+         /* A guard variable name.  */
+         advance_char (dm);
+         RETURN_IF_ERROR (result_add (dm, "guard variable for "));
+         RETURN_IF_ERROR (demangle_name (dm, &unused));
+         break;
+
+       case 'R':
+         /* A reference temporary.  */
+         advance_char (dm);
+         RETURN_IF_ERROR (result_add (dm, "reference temporary for "));
+         RETURN_IF_ERROR (demangle_name (dm, &unused));
+         break;
+         
+       default:
+         return "Unrecognized <special-name>.";
+       }
     }
   else if (peek == 'T')
     {