mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 19:09:31 +08:00
Implement P0136R1, Rewording inheriting constructors.
libiberty/ * cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor.
This commit is contained in:

committed by
Mark Wielaard

parent
aba19b625f
commit
ef0f5d7cc3
@ -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>
|
2016-10-31 Mark Wielaard <mjw@redhat.com>
|
||||||
|
|
||||||
* cplus-dem.c (ada_demangle): Initialize demangled to NULL and
|
* cplus-dem.c (ada_demangle): Initialize demangled to NULL and
|
||||||
|
@ -2168,6 +2168,13 @@ d_ctor_dtor_name (struct d_info *di)
|
|||||||
case 'C':
|
case 'C':
|
||||||
{
|
{
|
||||||
enum gnu_v3_ctor_kinds kind;
|
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))
|
switch (d_peek_next_char (di))
|
||||||
{
|
{
|
||||||
@ -2189,7 +2196,12 @@ d_ctor_dtor_name (struct d_info *di)
|
|||||||
default:
|
default:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
d_advance (di, 2);
|
d_advance (di, 2);
|
||||||
|
|
||||||
|
if (inheriting)
|
||||||
|
cplus_demangle_type (di);
|
||||||
|
|
||||||
return d_make_ctor (di, kind, di->last_name);
|
return d_make_ctor (di, kind, di->last_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4592,3 +4592,7 @@ __t2m05B500000000000000000_
|
|||||||
|
|
||||||
__10%0__S4_0T0T0
|
__10%0__S4_0T0T0
|
||||||
%0<>::%0(%0<>)
|
%0<>::%0(%0<>)
|
||||||
|
|
||||||
|
# Inheriting constructor
|
||||||
|
_ZN1DCI11BEi
|
||||||
|
D::B(int)
|
||||||
|
Reference in New Issue
Block a user