diff options
Diffstat (limited to 'gcc/cplus-dem.c')
-rw-r--r-- | gcc/cplus-dem.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/cplus-dem.c b/gcc/cplus-dem.c index 5525be7..da0ffff 100644 --- a/gcc/cplus-dem.c +++ b/gcc/cplus-dem.c @@ -1064,7 +1064,15 @@ demangle_template (work, mangled, tname, trawname) if (symbol_len == 0) string_appendn (tname, "0", 1); else - string_appendn (tname, *mangled, symbol_len); + { + char *p = xmalloc (symbol_len + 1), *q; + strncpy (p, *mangled, symbol_len); + q = cplus_demangle (p, work->options); + string_appendn (tname, "&", 1); + string_append (tname, q); + free (p); + free (q); + } *mangled += symbol_len; } } |