From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1678 invoked by alias); 15 Nov 2002 12:16:05 -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 1664 invoked by uid 71); 15 Nov 2002 12:16:05 -0000 Date: Thu, 21 Nov 2002 06:56:00 -0000 Message-ID: <20021115121604.1663.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Volker Reichelt Subject: Re: c++/7880: Internal compiler error when passing template class to new operator Reply-To: Volker Reichelt X-SW-Source: 2002-11/txt/msg00763.txt.bz2 List-Id: The following reply was made to PR c++/7880; it has been noted by GNATS. From: Volker Reichelt To: james@tga.com, gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org Cc: celliott@tga.com Subject: Re: c++/7880: Internal compiler error when passing template class to new operator Date: Fri, 15 Nov 2002 14:08:20 +0100 Hi, the templates have nothing to do with the problems (I'll therefore change the synopsis of the PR). The testcase can be reduced to the following code snippet without templates that still crashes the compiler. ------------------------------snip here------------------------ typedef unsigned int size_t; struct A { ~A(); }; struct B { void operator delete (void *, A); void* operator new (size_t, A); B(); }; struct C { A bar(); }; void foo() { new(C().bar()) B; } ------------------------------snip here------------------------ With gcc 3.0.x - 3.2.1 I get the following ICE: PR7880.cc: In function `void foo()': PR7880.cc:23: Internal compiler error in convert_from_eh_region_ranges_1, at except.c:1404 Please submit a full bug report, [etc.] With gcc 2.95.3 I also get an ICE. The problem seems to be fixed in mainline. BTW, the bug has probably the same reason as PR 8582. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8582 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7880