Implement P0136R1, Rewording inheriting constructors.
libiberty/ * cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor.
This commit is contained in:
parent
aba19b625f
commit
ef0f5d7cc3
3 changed files with 20 additions and 0 deletions
|
@ -1,3 +1,7 @@
|
|||
2016-11-01 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor.
|
||||
|
||||
2016-10-31 Mark Wielaard <mjw@redhat.com>
|
||||
|
||||
* cplus-dem.c (ada_demangle): Initialize demangled to NULL and
|
||||
|
|
|
@ -2168,6 +2168,13 @@ d_ctor_dtor_name (struct d_info *di)
|
|||
case 'C':
|
||||
{
|
||||
enum gnu_v3_ctor_kinds kind;
|
||||
int inheriting = 0;
|
||||
|
||||
if (d_peek_next_char (di) == 'I')
|
||||
{
|
||||
inheriting = 1;
|
||||
d_advance (di, 1);
|
||||
}
|
||||
|
||||
switch (d_peek_next_char (di))
|
||||
{
|
||||
|
@ -2189,7 +2196,12 @@ d_ctor_dtor_name (struct d_info *di)
|
|||
default:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
d_advance (di, 2);
|
||||
|
||||
if (inheriting)
|
||||
cplus_demangle_type (di);
|
||||
|
||||
return d_make_ctor (di, kind, di->last_name);
|
||||
}
|
||||
|
||||
|
|
|
@ -4592,3 +4592,7 @@ __t2m05B500000000000000000_
|
|||
|
||||
__10%0__S4_0T0T0
|
||||
%0<>::%0(%0<>)
|
||||
|
||||
# Inheriting constructor
|
||||
_ZN1DCI11BEi
|
||||
D::B(int)
|
||||
|
|
Loading…
Add table
Reference in a new issue