aboutsummaryrefslogtreecommitdiff
path: root/gcc/cplus-dem.c
diff options
context:
space:
mode:
authorJason Merrill <jason@yorick.cygnus.com>1998-07-21 18:16:29 +0000
committerJason Merrill <jason@gcc.gnu.org>1998-07-21 14:16:29 -0400
commitf36771750620024e2b590db1bfa8f7879a44864a (patch)
tree89bd4fabf24e981b5702e0c2d809a077839facfd /gcc/cplus-dem.c
parent53929c47c5c916744f34d54b63b1d984a3e2584f (diff)
downloadgcc-f36771750620024e2b590db1bfa8f7879a44864a.zip
gcc-f36771750620024e2b590db1bfa8f7879a44864a.tar.gz
gcc-f36771750620024e2b590db1bfa8f7879a44864a.tar.bz2
* cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
From-SVN: r21325
Diffstat (limited to 'gcc/cplus-dem.c')
-rw-r--r--gcc/cplus-dem.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/gcc/cplus-dem.c b/gcc/cplus-dem.c
index b68fc6f..903d1d1 100644
--- a/gcc/cplus-dem.c
+++ b/gcc/cplus-dem.c
@@ -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;
}