From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1775 invoked by alias); 25 Apr 2003 00:06:00 -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 1755 invoked by uid 71); 25 Apr 2003 00:06:00 -0000 Resent-Date: 25 Apr 2003 00:06:00 -0000 Resent-Message-ID: <20030425000600.1754.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, carlo@alinoe.com Received: (qmail 1263 invoked by uid 48); 25 Apr 2003 00:05:33 -0000 Message-Id: <20030425000533.1262.qmail@sources.redhat.com> Date: Fri, 25 Apr 2003 00:06:00 -0000 From: carlo@alinoe.com Reply-To: carlo@alinoe.com To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/10486: Regression (ICE) in 3.3 branch due to recent patch. X-SW-Source: 2003-04/txt/msg01059.txt.bz2 List-Id: >Number: 10486 >Category: c++ >Synopsis: Regression (ICE) in 3.3 branch due to recent patch. >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Fri Apr 25 00:06:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Carlo Wood >Release: GNU C++ version 3.3 20030424 (prerelease) >Organization: >Environment: i686-pc-linux-gnu >Description: After updating my CVS source tree at 20030424, while the last update was from around 20030404, I ran into a new ICE. This is a regression, all previous versions compile this fine, as did version 3.3 20030404. Full output: g++-cvs-3.3 -v -c troep.cc Reading specs from /usr/local/gcc-cvs-3.3/lib/gcc-lib/i686-pc-linux-gnu/3.3/specs Configured with: /usr/src/gcc/gcc-cvs-3.3/configure --prefix=/usr/local/gcc-cvs-3.3 --enable-shared --with-gnu-as --with-gnu-ld --enable-languages=c++ --enable-debug --enable-threads Thread model: posix gcc version 3.3 20030424 (prerelease) /usr/local/gcc-cvs-3.3/lib/gcc-lib/i686-pc-linux-gnu/3.3/cc1plus -quiet -v -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=0 -D_GNU_SOURCE troep.cc -D__GNUG__=3 -quiet -dumpbase troep.cc -auxbase troep -version -o /tmp/ccpOnYTr.s GNU C++ version 3.3 20030424 (prerelease) (i686-pc-linux-gnu) compiled by GNU C version 3.3 20030424 (prerelease). GGC heuristics: --param ggc-min-expand=55 --param ggc-min-heapsize=48296 ignoring nonexistent directory "/usr/local/gcc-cvs-3.3/i686-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/local/gcc-cvs-3.3/include/c++/3.3 /usr/local/gcc-cvs-3.3/include/c++/3.3/i686-pc-linux-gnu /usr/local/gcc-cvs-3.3/include/c++/3.3/backward /usr/local/include /usr/local/gcc-cvs-3.3/include /usr/local/gcc-cvs-3.3/lib/gcc-lib/i686-pc-linux-gnu/3.3/include /usr/include End of search list. troep.cc: In constructor `A<_Tp, _Alloc>::A(typename _Alloc::rebind<_Tp>::other&) [with _Tp = int, _Alloc = B]': troep.cc:19: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. >How-To-Repeat: Compile the following code snippet: template struct A { typedef typename _Alloc::template rebind<_Tp>::other allocator_type; A(allocator_type const& __a = allocator_type()) { } }; template struct B { template struct rebind { typedef B other; }; ~B() { } }; A::rebind::other> x; >Fix: Among others, removing the "~B() { }" helps. >Release-Note: >Audit-Trail: >Unformatted: