From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14630 invoked by alias); 6 Feb 2003 19:57:53 -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 14611 invoked by uid 48); 6 Feb 2003 19:57:53 -0000 Date: Thu, 06 Feb 2003 19:57:00 -0000 Message-ID: <20030206195753.14610.qmail@sources.redhat.com> To: gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, me@leflo.de, nobody@gcc.gnu.org From: bangerth@dealii.org Reply-To: bangerth@dealii.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, me@leflo.de, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Subject: Re: c++/9600: [3.2 regression] ICE with typedefs in template class X-SW-Source: 2003-02/txt/msg00316.txt.bz2 List-Id: Old Synopsis: typedefs in template class New Synopsis: [3.2 regression] ICE with typedefs in template class State-Changed-From-To: open->analyzed State-Changed-By: bangerth State-Changed-When: Thu Feb 6 19:57:53 2003 State-Changed-Why: Confirmed: ICEs with 3.2.*, works with 2.95, 3.3 and 3.4. Here's a redux: ---------------------------- template struct X { typedef T* type(); type t; }; template struct X; ------------------------ tmp/g> /home/bangerth/bin/gcc-3.2.2-pre/bin/c++ -c x.cc x.cc: In instantiation of `X': x.cc:5: instantiated from here x.cc:3: internal error: Segmentation fault Please submit a full bug report, I am unsure about the validity of the code, in particular typedef T* type(); I guess at the best this would qualify as a reference to a function. Making this a pointer-to-function like typedef T* (*type)(); makes the compilation go through. So I guess this is an ICE-on-illegal. W. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9600