From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16265 invoked by alias); 5 May 2003 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 16250 invoked by uid 71); 5 May 2003 00:56:01 -0000 Date: Mon, 05 May 2003 00:56:00 -0000 Message-ID: <20030505005601.16249.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: "Giovanni Bajo" Subject: Re: c++/7939: [3.3/3.4 regression] [2003-05-03] ICE on function template specialization Reply-To: "Giovanni Bajo" X-SW-Source: 2003-05/txt/msg00257.txt.bz2 List-Id: The following reply was made to PR c++/7939; it has been noted by GNATS. From: "Giovanni Bajo" To: , , , , Cc: Subject: Re: c++/7939: [3.3/3.4 regression] [2003-05-03] ICE on function template specialization Date: Mon, 5 May 2003 02:46:22 +0200 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7939 This is a regression from 2.95. Currently, we get the following on mainline and 3.3: pr7939.cpp:2: error: `' has incomplete type pr7939.cpp:2: error: invalid use of `void' pr7939.cpp:2: error: partial specialization `foo' of function template pr7939.cpp:2: internal compiler error: in comptypes, at cp/typeck.c:913 Please submit a full bug report, while we used to get this on 2.95: pr7939.cpp:2: template-id `foo' in declaration of primary template So, there is actually an improvement on the error message (the parser is able to understand that the code is trying to define a partial specialization of a function template, which is indeed a great diagnostic), but then it ICEs during error recovery. I think the error message could also be a little epurated (removing those other lines if possible, especially the one with which is really cryptic), and maybe specifying explicitally that "partial specialization of function template is not allowed by ISO C++". Giovanni Bajo