patch that caused regression in PR c++/8572

Janis Johnson janis187@us.ibm.com
Wed Dec 11 18:27:00 GMT 2002


The regression reported in PR c++/8572 showed up starting with this
patch, which might merely uncover an existing problem:

2002-03-20  Nathan Sidwell  <nathan@codesourcery.com>

	PR c++/4361
	* mangle.c (struct globals) Add internal_mangling_p member.
	(write_template_param): Do internal mangling, if needed.
	(mangle_conv_op_name_for_type): Request internal mangling.

Here's a small test case that causes the ICE, which occurs in the
mainline but not in the 3.2 branch:

---------------
template <typename T> struct A
{
  struct B { B() {} };
  operator B* () const;
};

template <typename T> A<T>::operator typename A<T>::B*() const { return 0;
}
---------------

Compiler output from the mainline with this test:

8572.C:7: internal compiler error: in mangle_conv_op_name_for_type, at
   cp/mangle.c:2612
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

This information will also be added to the PR.

Janis



More information about the Gcc mailing list