-
- Downloads
PR c++/37376, other mangling issues
gcc/cp/: PR c++/37376, other mangling issues * mangle.c (write_type): Update TYPE_PACK_EXPANSION mangling. (write_member_name): Break out from... (write_expression): ...here. Handle dependent COMPONENT_REF. (write_template_arg): Wrap an argument pack in 'I'/'E'. (write_builtin_type): Update char16/32_t mangling. (write_nested_name, write_prefix): Don't forget template args for typename types. * operators.def: Add ARROW_EXPR, update COMPONENT_REF and EXPR_PACK_EXPANSION. libstdc++-v3/: * config/abi/pre/gnu.ver: Update char16/32_t manglings. include/: * demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_PACK_EXPANSION. libiberty/: * cp-demangle.c (struct d_print_info): Add pack_index. (d_dump): Add DEMANGLE_COMPONENT_PACK_EXPANSION. (d_make_comp): Likewise. DEMANGLE_COMPONENT_ARGLIST and DEMANGLE_COMPONENT_TEMPLATE_ARGLIST can have two null args. (cplus_demangle_builtin_types): Add char16/32_t. (cplus_demangle_type): Recognize them. (d_template_args): Handle empty argument packs. (d_template_arg): Handle argument packs. (d_expression): Handle dependent name. (d_index_template_argument): New fn. (d_lookup_template_argument): New fn. (d_find_pack, d_pack_length): New fn. (d_print_subexpr): Split out... (d_print_comp): ...from here. Use d_*_template_argument. Handle empty arg lists. Support pack expansions. * cp-demangle.h (D_BUILTIN_TYPE_COUNT): Increase to 32. From-SVN: r140916
Showing
- gcc/cp/ChangeLog 13 additions, 0 deletionsgcc/cp/ChangeLog
- gcc/cp/mangle.c 89 additions, 27 deletionsgcc/cp/mangle.c
- gcc/cp/operators.def 3 additions, 2 deletionsgcc/cp/operators.def
- gcc/testsuite/g++.dg/abi/mangle30.C 22 additions, 0 deletionsgcc/testsuite/g++.dg/abi/mangle30.C
- gcc/testsuite/g++.dg/cpp0x/auto6.C 68 additions, 3 deletionsgcc/testsuite/g++.dg/cpp0x/auto6.C
- gcc/testsuite/g++.dg/cpp0x/variadic4.C 4 additions, 4 deletionsgcc/testsuite/g++.dg/cpp0x/variadic4.C
- gcc/testsuite/g++.dg/cpp0x/variadic42.C 2 additions, 2 deletionsgcc/testsuite/g++.dg/cpp0x/variadic42.C
- gcc/testsuite/g++.dg/ext/utf-mangle.C 4 additions, 4 deletionsgcc/testsuite/g++.dg/ext/utf-mangle.C
- gcc/tree.h 1 addition, 1 deletiongcc/tree.h
- include/ChangeLog 5 additions, 0 deletionsinclude/ChangeLog
- include/demangle.h 3 additions, 1 deletioninclude/demangle.h
- libiberty/ChangeLog 19 additions, 0 deletionslibiberty/ChangeLog
- libiberty/cp-demangle.c 225 additions, 73 deletionslibiberty/cp-demangle.c
- libiberty/cp-demangle.h 1 addition, 1 deletionlibiberty/cp-demangle.h
- libiberty/testsuite/demangle-expected 18 additions, 14 deletionslibiberty/testsuite/demangle-expected
- libstdc++-v3/ChangeLog 4 additions, 0 deletionslibstdc++-v3/ChangeLog
- libstdc++-v3/config/abi/pre/gnu.ver 6 additions, 6 deletionslibstdc++-v3/config/abi/pre/gnu.ver
Loading
Please register or sign in to comment