From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6628 invoked by alias); 8 Apr 2003 13:26: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 6607 invoked by uid 71); 8 Apr 2003 13:26:00 -0000 Resent-Date: 8 Apr 2003 13:26:00 -0000 Resent-Message-ID: <20030408132600.6606.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, ebb9@email.byu.edu Received: (qmail 5319 invoked by uid 48); 8 Apr 2003 13:17:30 -0000 Message-Id: <20030408131730.5318.qmail@sources.redhat.com> Date: Tue, 08 Apr 2003 13:26:00 -0000 From: ebb9@email.byu.edu Reply-To: ebb9@email.byu.edu To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/10347: [3.4] tree check ICE in dependent_type_p X-SW-Source: 2003-04/txt/msg00337.txt.bz2 List-Id: >Number: 10347 >Category: c++ >Synopsis: [3.4] tree check ICE in dependent_type_p >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Tue Apr 08 13:26:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Eric Blake >Release: 3.4 20030317 (experimental) >Organization: >Environment: System: CYGWIN_98-4.10 eblake 1.3.22(0.78/3/2) 2003-03-18 09:20 i686 unknown unknown Cygwin host: i686-pc-cygwin build: i686-pc-cygwin target: i686-pc-cygwin configured with: ../gcc/configure --enable-threads=posix --prefix=/home/eblake/gcc-3.4 --enable-shared --enable-languages=c,c++,java --enable-libgcj --with-gcc-version-trigger=/home/eblake/gcc/gcc/version.c --no-create --no-recursion >Description: I think the new parser is choking on this use of templates, distilled from the jikes compiler code. >How-To-Repeat: $ cat bug.cc typedef unsigned int size_t; void * __attribute__((__cdecl__)) memset (void *, int, size_t); template struct Map { struct Element { Element* next; Key* key; Value* value; }; Element** base; unsigned hash_size; void Resize(); }; template void Map::Resize() { delete [] base; base = (Element**) memset(new Element*[hash_size], 0, hash_size * sizeof(Element*)); } $ g++ -c bug.cc bug.cc: In member function `void Map::Resize()': bug.cc:23: internal compiler error: tree check: expected class 't', have 'x' ( tree_list) in dependent_type_p, at cp/pt.c:11407 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. >Fix: >Release-Note: >Audit-Trail: >Unformatted: