merge from gcc
This commit is contained in:
parent
7d6d776489
commit
4e59450ef0
2 changed files with 21 additions and 1 deletions
|
@ -1,3 +1,16 @@
|
|||
2008-12-18 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/38561
|
||||
* cp-demangle.c (d_expression, d_print_comp): Revert
|
||||
cast changes.
|
||||
|
||||
2008-12-17 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* cp-demangle.c (d_expression): Handle rvalue stubs too.
|
||||
[DEMANGLE_COMPONENT_CAST]: Update mangling.
|
||||
(d_print_comp): Avoid extra ", " with empty template argument packs.
|
||||
Remove handling for obsolete T() mangling.
|
||||
|
||||
2008-12-10 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* cp-demangle.c (cplus_demangle_type): Support fixed-point types.
|
||||
|
|
|
@ -2561,7 +2561,8 @@ d_expression (struct d_info *di)
|
|||
d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, name,
|
||||
d_template_args (di)));
|
||||
}
|
||||
else if (peek == 's' && d_peek_next_char (di) == 'T')
|
||||
else if (peek == 's'
|
||||
&& (d_peek_next_char (di) == 'T' || d_peek_next_char (di) == 'R'))
|
||||
{
|
||||
/* Just demangle a parameter placeholder as its type. */
|
||||
d_advance (di, 2);
|
||||
|
@ -3763,8 +3764,14 @@ d_print_comp (struct d_print_info *dpi,
|
|||
d_print_comp (dpi, d_left (dc));
|
||||
if (d_right (dc) != NULL)
|
||||
{
|
||||
size_t len;
|
||||
d_append_string (dpi, ", ");
|
||||
len = dpi->len;
|
||||
d_print_comp (dpi, d_right (dc));
|
||||
/* If that didn't print anything (which can happen with empty
|
||||
template argument packs), remove the comma and space. */
|
||||
if (dpi->len == len)
|
||||
dpi->len -= 2;
|
||||
}
|
||||
return;
|
||||
|
||||
|
|
Loading…
Reference in a new issue