1998-11-08 Mark Mitchell <mark@markmitchell.com>
+ * cplus-dem.c (type_kind_t): Add tk_reference.
+ (demangle_template_value_parm): Handle it.
+ (do_type): Use it for references, instead of tk_pointer.
+
* cplus-dem.c (demangle_template_value_parm): Use cplus_demangle,
not internal_cplus_demangle.
{
tk_none,
tk_pointer,
+ tk_reference,
tk_integral,
tk_bool,
tk_char,
}
}
}
- else if (tk == tk_pointer)
+ else if (tk == tk_pointer || tk == tk_reference)
{
int symbol_len = consume_count (mangled);
if (symbol_len == 0)
or type-code information we have built up thus far; it is
mangled independently. */
q = cplus_demangle (p, work->options);
- string_appendn (s, "&", 1);
+ if (tk == tk_pointer)
+ string_appendn (s, "&", 1);
/* FIXME: Pointer-to-member constants should get a
qualifying class name here. */
if (q)
(*mangled)++;
string_prepend (&decl, "&");
if (tk == tk_none)
- tk = tk_pointer;
+ tk = tk_reference;
break;
/* An array */