• jason's avatar
    PR c++/6057 · 2d847c18
    jason authored
    	PR c++/48051
    	PR c++/50855
    	PR c++/51322
    gcc/cp/
    	* mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
    	THROW_EXPR, CONSTRUCTOR, OVERLOAD.  Fix PREINCREMENT_EXPR and
    	PREDECREMENT_EXPR.
    	(write_template_arg): Fix mangling of class-scope functions and
    	argument packs.
    	(mangle_decl): Update suggested -fabi-version argument.
    	* operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
    	DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
    	* tree.c (dependent_name): No longer static.
    	* cp-tree.h: Declare it.
    	* pt.c (unify): Defer handling of unconverted functions.
    include/
    	* demangle.h (enum demangle_component_type): Add
    	DEMANGLE_COMPONENT_INITIALIZER_LIST, DEMANGLE_COMPONENT_NULLARY.
    libiberty/
    	* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_NULLARY and
    	DEMANGLE_COMPONENT_INITIALIZER_LIST.
    	(d_make_comp): Likewise.  Allow null right arg for
    	DEMANGLE_COMPONENT_TRINARY_ARG2.
    	(cplus_demangle_operators): Adjust new/delete; add .*, :: and throw.
    	(d_template_args, d_template_arg): Handle 'J' for argument packs.
    	(d_exprlist): Add terminator parm.
    	(d_expression, d_print_comp): Handle initializer lists, nullary
    	expressions, prefix/suffix operators, and new.
    	(d_print_subexpr): Avoid parens around DEMANGLE_COMPONENT_QUAL_NAME
    	and DEMANGLE_COMPONENT_INITIALIZER_LIST.
    	* testsuite/demangle-expected: Add tests.
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182970 138bc75d-0d04-0410-961f-82ee72b054a4
    2d847c18
ChangeLog 26.3 KB