* cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
authorJason Merrill <jason@yorick.cygnus.com>
Tue, 21 Jul 1998 18:16:29 +0000 (18:16 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 21 Jul 1998 18:16:29 +0000 (14:16 -0400)
From-SVN: r21325

gcc/ChangeLog
gcc/cplus-dem.c

index 2cc234504217edcb3d77180f22395fc1402dbf91..ab5fa79f5f268890b3b0d261075cc7883f6b9fd0 100644 (file)
@@ -1,3 +1,13 @@
+Tue Jul 21 13:28:19 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
+
+Sun Jul 12 01:27:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * fold-const.c (non_lvalue): Don't deal with null pointer 
+       constants here.
+       (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
+
 Tue Jul 21 15:49:31 1998  David Edelsohn  <edelsohn@mhpcc.edu>
 
        * rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
index b68fc6ffc19bc69a6c106e8f52695a6ee18023e0..903d1d1ee9859e8ba5fdc67e3f8d0cd7520962fb 100644 (file)
@@ -2535,22 +2535,13 @@ do_type (work, mangled, result)
          /* An array */
        case 'A':
          {
-           const char *p = ++(*mangled);
-
+           ++(*mangled);
            string_prepend (&decl, "(");
            string_append (&decl, ")[");
-           /* Copy anything up until the next underscore (the size of the
-              array).  */
-           while (**mangled && **mangled != '_')
-             ++(*mangled);
+           success = demangle_template_value_parm (work, mangled, &decl);
            if (**mangled == '_')
-             {
-               string_appendn (&decl, p, *mangled - p);
-               string_append (&decl, "]");             
-               *mangled += 1;
-             }
-           else
-             success = 0;
+             ++(*mangled);
+           string_append (&decl, "]");
            break;
          }