From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11838 invoked by alias); 12 Dec 2002 00:56:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 11824 invoked by uid 71); 12 Dec 2002 00:56:01 -0000 Date: Wed, 11 Dec 2002 16:56:00 -0000 Message-ID: <20021212005601.11823.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Janis Johnson Subject: Re: c++/8572: [3.3 regression] ICE with external definition of conversion operator to internal class within template class Reply-To: Janis Johnson X-SW-Source: 2002-12/txt/msg00689.txt.bz2 List-Id: The following reply was made to PR c++/8572; it has been noted by GNATS. From: Janis Johnson To: llib@computer.org, gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org Cc: Subject: Re: c++/8572: [3.3 regression] ICE with external definition of conversion operator to internal class within template class Date: Wed, 11 Dec 2002 16:50:34 -0800 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 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 struct A { struct B { B() {} }; operator B* () const; }; template A::operator typename A::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 for instructions. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8572