re PR c++/8006 (ice in mangle_conv_op_name_for_type boost regression)
authorMark Mitchell <mark@codesourcery.com>
Fri, 4 Oct 2002 04:59:39 +0000 (04:59 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Fri, 4 Oct 2002 04:59:39 +0000 (04:59 +0000)
commit6397d80b752df0770438e1edbc1efd8773fbb7eb
tree2a6564ee9bc95c1a339ca2aa488debfeb614d0be
parent69c75916740ba75141accc68df66e17a486c11d1
re PR c++/8006 (ice in  mangle_conv_op_name_for_type boost regression)

* doc/invoke.texi (-Wabi): Document mangling bug.

PR c++/8006
* mangle.c (CLASSTYPE_TEMPLATE_ID_P): Handle instances of template
template parameters.
(globals): Add entity and need_abi_warning.
(decl_is_template_id): Use TYPE_TEMPLATE_INFO, not
CLASSTYPE_TEMPLATE_INFO.
(is_std_substitution): Use CLASSTYPE_TI_TEMPLATE, not
TYPE_TI_TEMPLATE.
(write_prefix): Handle typename types correctly.
(write_template_prefix): Handle template template parameters
correctly.
(start_mangling): Add entity parameter.
(finish_mangling): Warn about names whose mangling will change.
(mangle_decl_string): Adjust.
(mangle_type_string): Likewise.
(mangle_special_for_type): Likewise.
(mangle_ctor_vtbl_for_type): Likewise.
(mangle_thunk): Likewise.
(mangle_guard_variable): Likewise.
(mangle_ref_init_variable): Likewise.

PR c++/8006
* g++.dg/abi/mangle9.C: New test.
* g++.dg/abi/mangle10.C: New test.
* g++.dg/abi/mangle11.C: New test.
* g++.dg/abi/mangle12.C: New test.

From-SVN: r57799
gcc/ChangeLog
gcc/cp/ChangeLog
gcc/cp/mangle.c
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/abi/mangle10.C [new file with mode: 0644]
gcc/testsuite/g++.dg/abi/mangle11.C [new file with mode: 0644]
gcc/testsuite/g++.dg/abi/mangle12.C [new file with mode: 0644]
gcc/testsuite/g++.dg/abi/mangle9.C [new file with mode: 0644]