[patch][libstdc++ patch][c++ patch] Update mangling and demangling for rvalue references

Doug Gregor doug.gregor@gmail.com
Fri Jun 29 20:48:00 GMT 2007


The attached patch updates the mangling of rvalue reference types to
use 'O' rather than 'RR'. The use of 'O' is being discussed on the
cxx-abi-dev list and has been in CodeWarrior for some time. This patch
also updates the demangler to handle 'O' and introduces a test in
libstdc++ to make sure rvalue references are demangled properly.

Tested on powerpc-apple-darwin8.10.0; okay for mainline, assuming we
have agreement on cxx-abi-dev?

  - Doug

2007-06-29  Douglas Gregor  <doug.gregor@gmail.com>

        * mangle.c (write_type): Change mangling of rvalue reference from
        `RR' to `O'.

2007-06-29  Douglas Gregor  <doug.gregor@gmail.com>

        * include/demangle.h (enum demangle_component_type): Add
        DEMANGLE_COMPONENT_RVALUE_REFERENCE.
        cp-demangle.c ():
        * libiberty/cp-demangle.c (d_dump): Handle
        DEMANGLE_COMPONENT_RVALUE_REFERENCE.
        (d_make_comp): Ditto.
        (cplus_demangle_type): Ditto.
        (d_print_comp): Ditto.
        (d_print_mod): Ditto.
        (d_print_function_type): Ditto.

2007-06-29  Douglas Gregor  <doug.gregor@gmail.com>

        * testsuite/abi/demangle/cxx0x/rref.cc: New.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rref-demangle.patch
Type: text/x-patch
Size: 5203 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20070629/c069123f/attachment.bin>


More information about the Libstdc++ mailing list