Artemiy Volkov <artem...@acm.org> writes:

> On Mon, Jan 04, 2016 at 10:06:44PM -0800, Ian Lance Taylor wrote:
>> Artemiy Volkov <artem...@acm.org> writes:
>> 
>> > This patch adds handling of 'O' (rvalue ref) type codes in the C++
>> > demangling
>> > code which is done similarly to the 'R' (regular references)
>> > case. It also adds
>> > a few testcases for various demangling styles which are just
>> > mirrored versions
>> > of the corresponding regular references demangling tests.
>> >
>> > libiberty/ChangeLog:
>> >
>> > 2016-01-04  Artemiy Volkov  <artem...@acm.org>
>> >
>> >         * cplus-dem.c (enum type_kind_t): Add tk_rvalue_reference
>> >         constant.
>> >         (demangle_template_value_parm): Handle tk_rvalue_reference
>> >         type kind.
>> >         (do_type): Support 'O' type id (rvalue references).
>> 
>> Is there a compiler that actually generate these symbols?
>
> Sure, at least gcc and clang generate this. E.g. when compiling:
>
> void f(int&& b) { }
>
> you then have:
>
> ➜ nm 1.o 
> 0000000000000000 T _Z1fOi

That symbol name is handled by code in cp-demangle.c, not cplus-dem.c.
It already works today.  Try it.  cplus-dem is the old (very old)
demangler.  cp-demangle is the current demangler.

Ian

Reply via email to